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
相關文章
相關標籤/搜索