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 ...
随机推荐
- spring4-2-bean配置-4-bean之间的关系
- maven配置logback
[背景] 刚接触大数据项目,在生产环境中经常需要使用日志来判定一些问题的原因. 一直以来都在使用System.out.println的标准输出来往控制台上打印日志.这种方法对性能影响很大不说,查看日志 ...
- JavaScript获取主流手机系统和型号
<script src="http://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> < ...
- [GO]匿名函数和defer
package main import "fmt" func main() { a := 10 b := 20 defer func() { fmt.Printf("a ...
- kcp源码走读
kcp协议与tcp协议类似,是一种ARQ协议.他的优点在于比tcp的延迟更小30%-40%,但相应的会牺牲一部分的带宽,大该比tcp多浪费10%~20%.tcp的设计目标是增大网络利用率,而kcp的设 ...
- spring mvc注解@RequestMapping
1.url路径映射 基本功能 2.窄化请求映射 根路径+子路径 注意setViewName的路径. 3.限制http请求方法 get和 post 如果是get
- Head First Python之4持久存储
open()用法 # encoding:utf-8 try: # 写模式打开文件,若不存在该文件,则创建 out = open("data.out", "w") ...
- 迟到的成果——Qt 小学生出题神器设计
Github传送门 Part 1.成果展示及感想 原先一直有个疑惑的问题困扰着对Qt一无所知的我:如何才能使得C++代码在Qt上运行.然而这种困惑在进一步对Qt的了解过程中都得到了慢慢的解决,逐渐有一 ...
- c语言和java以及安卓和苹果
苹果手机是本地,没有中间环节,速度快,基于Linux系统 安卓是通过虚拟机,影响速度 就像c语言和java c适用于架构小的地方,因为直接编译运行 而java用于架构比较大的地方,启动慢,启动之后效率 ...
- C++ springf()的用法(转)
转:http://blog.csdn.net/masikkk/article/details/5634886 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprin ...