Laravel for Windows 开发环境配置

本文为CSDN Choris 原创,转载请事先征得做者赞成,以示尊重!php

原文:http://blog.csdn.net/choris/article/details/50215835css

Laravel配置教程

本文在参考岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】的基础上写成1html

1.XAMPP集成开发环境

Laravel是一个PHP开发框架,用Laravel框架开发的网站须要运行于有PHP+数据库+web服务器操做系统上。通常要求PHP版本5.4+,MySQL5.1+。本文选择PHP+MySQL数据库+Apache web服务器。在Windows下能够下载并安装最新版XAMPP集成开发环境,点击到XAMPP官网下载mysql

2.安装Composer

Laravel须要使用Composer来管理其依赖性。因此,在使用Laravel以前,必须确认在电脑上已经安装了Composer。 
Windows下安装Composer很是简单,能够像安装XAMPP同样,下载并安装Composer-Setup.exe安装程序便可。点击到Composer中文网下载2。 
安装完成后输入如下指令检测是否安装成功:linux

composer -V

3.配置Composer使用中国全量镜像

因为访问国外网站或者被墙的缘由,若是直接使用默认Composer源速度会很是慢并且极可能不能访问。幸运的是,国内的IT工做者制做了Packagist/Composer的中国全量镜像。能够参考Composer中文网的教程配置3,本文下面也会详述配置步骤。laravel

有两种方法启用本镜像服务:

  1. 将配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)
  2. 将配置信息添加到单个项目的 composer.json 文件中(单个项目配置)

本文选择第一种配置方法: 
打开命令行窗口(windows用户)或控制台(Linux、Mac用户)并执行以下命令:c++

composer config -g repositories.packagist composer http://packagist.phpcomposer.com

说明

使用本镜像服务就意味着下载的全部的安装包元数据都未来自本镜像服务,而再也不向 packagist.org 发起请求。这将加速 
Composer 的安装过程,而且更加可靠、快速。(因为众所周知的缘由,国外的网站链接速度太慢,而且随时可能被墙)git

通常状况下,安装包的数据(zip 文件等)通常是从 GitHub 
或其余第三方服务器上下载的,使用本镜像服务后,咱们会缓存全部安装包到国内的机房,这样就没必要再去向国外的网站发起请求,所以,即便 
packagist.org、github.com 或其余第三方服务发生故障(主要是链接速度太慢和被墙),你仍然能够下载、更新安装包。github

4.使用Composer安装Laravel5

镜像配置完成后,切换到你想要安装的目录下,xampp下Apache的安装路径为:web

C:\xampp\htdocs

切换到该目录下,运行命令提示符cmd,输入以下命令:

composer create-project laravel/laravel learnlaravel5
composer update --no-scripts (安装依赖项)

 

有时候composer install/update的时候会报错:

[Composer\Downloader\TransportException]                                                                                                                          
  Your configuration does not allow connection to http://ooxx/xxoo.Git. See https://getcomposer.org/doc/06-config.md#secure-http for details.

解决方法是设置一个本地或全局的composer配置:

composer config secure-http false

全局设置:

composer config -g secure-http false

意义是默认禁用https请求,就能够了

 

安装完成后在当前目录下会生成一个目录learnlaravel5,以下图所示: 
这里写图片描述

打开xampp并开启Apache服务器,在浏览器中输入Laravel主目录:

“ip:端口/laravel安装目录 / public” (默认80端口可省略) 在个人本机上为: localhost/learnlaravel5/public

能够看到Laravel安装成功地界面: 
这里写图片描述


Laravel 出现"RuntimeException inEncrypter.php line 43: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths."问题的解决办法

首先在cmd命令行下定位到项目所在的根目录下,接着输入:

[plain]  view plain  copy
 
 在CODE上查看代码片派生到个人代码片
  1. php artisan key:generate  

效果:

 

这时候项目根目录下的.env文件里的APP_KEY应该会有值了:

若没有,则将上一步生成的key值输入进去便可。

Laravel Migration Error : Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes laravel 5.3

Refering to Laravel News and Laravel's migration guide:

As outlined in the Migrations guide to fix this all you have to do is edit your AppServiceProvider.php file and inside the boot method set a default string length:

use Illuminate\Support\Facades\Schema; function boot() { Schema::defaultStringLength(191); }

以上四步是安装Laravel的主要步骤,后续主要讲解如何使用和开发

5.数据库创建及迁移

Laravel 5 把数据库配置的地方改到了 learnlaravel5/.env,打开这个文件,编辑下面四项,修改成正确的信息:

DB_HOST=localhost DB_DATABASE=laravel5 DB_USERNAME=root DB_PASSWORD=password

推荐新建一个名为 laravel5 的数据库,为了学习方便,推荐使用 root 帐户直接操做。

Laravel 已经为咱们准备好了 Auth 部分的 migration,运行如下命令执行数据库迁移操做:

php artisan migrate

获得以下结果: 
这里写图片描述
若是你运行命令报错,请检查数据库链接设置。至此,数据库迁移已完成,你能够打开localhost/learnlaravel5/public/home 
进行注册和登录啦。

6.模型Models

接下来咱们将接触Laravel最为强大的部分,Eloquent ORM,运行如下命令:

php artisan make:model Article php artisan make:model Page

Laravel 4 时代,咱们使用 Generator 插件来新建 Model。如今,Laravel 5 已经把 Generator集成进了 Artisan

如今,Artisan 帮咱们在 learnlaravel5/app/ 下建立了两个文件 Article.php 和 Page.php,这是两个 Model 类,他们都继承了 Laravel Eloquent 提供的 Model 类 Illuminate\Database\Eloquent\Model,且都在 \App 命名空间下。这里须要强调一下,用命令行的方式建立文件,和本身手动建立文件没有任何区别,你也能够尝试本身建立这两个 Model 类。

Model 即为 MVC 中的 M,翻译为模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类(固然也能够对应多个)。

若是你想深刻地了解 Eloquent,能够阅读系列文章:深刻理解 Laravel Eloquent(一)——基本概念及用法

接下来进行 Article 和 Page 类对应的 articles 表和 pages表的数据库迁移,进入 learnlaravel5/database/migrations 文件夹。 
在 ***_create_articles_table.php 中修改:

Schema::create('articles', function(Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('slug')->nullable(); $table->text('body')->nullable(); $table->string('image')->nullable(); $table->integer('user_id'); $table->timestamps(); });

在 ***_create_pages_table.php 中修改:

Schema::create('pages', function(Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('slug')->nullable(); $table->text('body')->nullable(); $table->integer('user_id'); $table->timestamps(); });

而后执行命令

php artisan migrate

成功之后, articles 表和 pages 表已经出如今了数据库里。

7.数据库填充 Seeder

在 learnlaravel5/database/seeds/ 下新建 PageTableSeeder.php 文件,内容以下:

<?php use Illuminate\Database\Seeder; use App\Page; class PageTableSeeder extends Seeder { public function run() { DB::table('pages')->delete(); for ($i=0; $i < 10; $i++) { Page::create([ 'title' => 'Title '.$i, 'slug' => 'first-page', 'body' => 'Body '.$i, 'user_id' => 1, ]); } } }

 

而后修改同一级目录下的 DatabaseSeeder.php中:

// $this->call('UserTableSeeder');

这一句为

$this->call('PageTableSeeder');

而后运行命令进行数据填充:

composer dump-autoload php artisan db:seed

查看pages表,里面新增了10条数据。


  1. 岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】 
  2. Composer中文网 
  3. Composer全量中国镜像 
  4. http://stackoverflow.com/questions/28468625/laravel-5-failed-opening-required-bootstrap-vendor-autoload-php
  5. http://blog.csdn.net/u013049553/article/details/52608353
  6. wnmp环境搭建:http://www.cnblogs.com/wuzhenbo/p/3493518.html
  7. http://stackoverflow.com/questions/43384273/laravel-migration-error-syntax-error-or-access-violation-1071-specified-key-w
相关文章
相关标签/搜索