Laravel for Windows 开发环境配置
本文为CSDN Choris 原创,转载请事先征得作者同意,以示尊重!
原文:http://blog.csdn.net/choris/article/details/50215835
Laravel配置教程
本文在参考岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】的基础上写成1。
1.XAMPP集成开发环境
Laravel是一个PHP开发框架,用Laravel框架开发的网站需要运行于有PHP+数据库+web服务器的操作系统上。一般要求PHP版本5.4+,MySQL5.1+。本文选择PHP+MySQL数据库+Apache web服务器。在Windows下可以下载并安装最新版XAMPP集成开发环境,点击到XAMPP官网下载。
2.安装Composer
Laravel需要使用Composer来管理其依赖性。所以,在使用Laravel之前,必须确认在电脑上已经安装了Composer。 
Windows下安装Composer非常简单,可以像安装XAMPP一样,下载并安装Composer-Setup.exe安装程序即可。点击到Composer中文网下载2。 
安装完成后输入以下指令检测是否安装成功:
composer -V
3.配置Composer使用中国全量镜像
由于访问国外网站或者被墙的原因,如果直接使用默认Composer源速度会非常慢而且很可能不能访问。幸运的是,国内的IT工作者制作了Packagist/Composer的中国全量镜像。可以参考Composer中文网的教程配置3,本文下面也会详述配置步骤。
有两种方法启用本镜像服务:
- 将配置信息添加到 Composer 的配置文件
 config.json中(系统全局配置)- 将配置信息添加到单个项目的
 composer.json文件中(单个项目配置)
本文选择第一种配置方法: 
打开命令行窗口(windows用户)或控制台(Linux、Mac用户)并执行如下命令:
composer config -g repositories.packagist composer http://packagist.phpcomposer.com
说明
使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速
Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)一般情况下,安装包的数据(zip 文件等)一般是从 GitHub
或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使
packagist.org、github.com 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
4.使用Composer安装Laravel5
镜像配置完成后,切换到你想要安装的目录下,xampp下Apache的安装路径为:
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命令行下定位到项目所在的根目录下,接着输入:
- 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条数据。
- 岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】 ↩
 - Composer中文网 ↩
 - Composer全量中国镜像 ↩
 - http://stackoverflow.com/questions/28468625/laravel-5-failed-opening-required-bootstrap-vendor-autoload-php
 - http://blog.csdn.net/u013049553/article/details/52608353
 - wnmp环境搭建:http://www.cnblogs.com/wuzhenbo/p/3493518.html
 - http://stackoverflow.com/questions/43384273/laravel-migration-error-syntax-error-or-access-violation-1071-specified-key-w
 
Laravel for Windows 开发环境配置的更多相关文章
- (二)react-native开发系列之windows开发环境配置
		
之前写了react-native在mac上得环境搭建,但是如果只开发android的话,只要用windows系统就可以了,下面就来说下react-native的windows开发环境配置. 1.下载配 ...
 - 【转】cocos2d-x windows开发环境配置
		
声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交 ...
 - Tomcat+eclipse JSP windows开发环境配置
		
一.安装Java SE http://www.oracle.com/technetwork/java/javase/downloads/index.html ,配置JAVA_HOME环境变量 二.安装 ...
 - (一)react-native开发系列之Mac开发环境配置
		
写在前面 在开始之前,先说下选择react-native的背景原因 最近一年来,公司为了节省开发成本,以及降低维护成本,指派我开始做起前端开发app的工作,我和公司的小伙伴们就开始了漫长的app开发之 ...
 - AndroidStudio开发环境配置-Windows
		
Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...
 - windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
		
http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...
 - 【Objective-C】Windows下Objective-C开发环境配置
		
[Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/ 最近打 ...
 - Kinect for Windows SDK开发入门(一):开发环境配置
		
[译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...
 - windows下spark开发环境配置
		
http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...
 
随机推荐
- 启动图。引导页以及EAIntroView的使用
			
ios启动图: 1242 x 2208 (6plus) R5.5位置 750 x 1334 (6) R4.7位置 640 x 960 (4/4s) 2x ...
 - 少一些套路,多一些真诚 ——groovy消灭表现层套路
			
初次认识groovy是在2009年,当时看了Manning出版的<Groovy in Action 1st Edition>,对groovy这个语言的交互性shell,以及灵活的语法留 ...
 - 3d点云与cad模型
			
https://stackoverflow.com/questions/19000096/match-3d-point-cloud-to-cad-model
 - c#反射优化 表达式树
			
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...
 - 使用DBMS_SCHEDULER包管理计划任务
			
Dbms_scheduler是Oracle提供创建计划任务的包,任务类型可以是执行PL\SQL程序.执行外部脚本.调用操作系统命令,通常用于创建定期定时的任务,不依赖操作系统,保存在数据库内,数据库迁 ...
 - Mac os安装DVWA环境教程
			
Mac os安装DVWA环境教程 1.尽管Mac自带Apache和php 事实上Mac和WIN都用XAMPP一键化安装比较方便 2.解压DVWA-master 改名为dvwa移动到XAMPP的目录 3 ...
 - 白盒测试实践项目(day6)
			
胡俊辉负责JUint测试部分,了解JUint测试的方法,并对其他成员介绍JUint的使用,负责JUnit部分相关文档的编写,负责博客园博客的维护,负责小组成员的任务分类与管理. 李建文负责代码复审部分 ...
 - <<C++标准程序库>>中的STL简单学习笔记
			
0. 内容为个人学习笔记, 仅供参考, 如有错漏, 欢迎指正! 1. STL中的所有组件都是由模板构成的, 所以其元素可以是任意型别的. 组件有: - 容器: 管理某类对象的集合. 不同的容器有各自的 ...
 - java  IO类简单介绍
			
一.流的概念 流是字节序列的抽象概念.流和文件的差别:文件是数据的静态存储形式,而流是指数据传输时的形态.文件只是流的操作对象之一.流按其操作的对象不同可以分为文件流.网络流.内存流.磁带流等.Jav ...
 - 编写高质量代码改善C#程序的157个建议——建议128:考虑让派生类的名字以基类名字作为后缀
			
建议128:考虑让派生类的名字以基类名字作为后缀 派生类的名字可以考虑以基类名字作为后缀.这带来的好处是,从类型的名字上我们就知道它包含在哪一个继承体系中. Exception及其子类就是这样一个典型 ...