PHP開發(fā)框架laravel安裝與配置教程

字號:


    Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架,本文將詳細介紹Laravel如何進行配置
    配置說明
    框架下載好了,但是想要很好的使用,可能我們還有一些東西需要知道,這就是配置。和項目有關(guān)的配置是在app/config文件夾里,但是除了這里還有一些配置可能是我們需要的。作為一個基礎(chǔ)教程,我就不一一介紹了,只是選擇一些大家配置比較多的地方講解一下。
    app/config中的配置說明
    在app/config文件夾中經(jīng)常配置的一般有兩個文件:app.php和database.php兩個文件,他們一個是配置項目雜項的、一個是配置數(shù)據(jù)庫的。下面我就里面的常用配置做一下解釋:
    先是app.php文件
    // app/config/app.php 文件
    return array(
    /*
    |--------------------------------------------------------------------------
    | Laravel 的 debug 模塊
    |--------------------------------------------------------------------------
    | 當設(shè)置為 'true' 的時候為開啟狀態(tài)(下面這種設(shè)置是默認設(shè)置,為開啟狀態(tài))
    | 'false' 為關(guān)閉狀態(tài)。開啟的時候當程序出現(xiàn)錯誤會顯示錯誤信息,
    | 而關(guān)閉的時候,程序一旦錯誤,則會跳轉(zhuǎn)到錯誤頁面(一般為404頁)
    */
    'debug' => true,
    /*
    |--------------------------------------------------------------------------
    | 應(yīng)用地址
    |--------------------------------------------------------------------------
    | 這個地址只有在使用 Artisan 命令的時候才會用到,需要設(shè)置為應(yīng)用的根目錄。
    | 額,如果你還是不清楚我在說什么,那就和下面一樣設(shè)置成空吧。
    */
    'url' => '',
    /*
    |--------------------------------------------------------------------------
    | 應(yīng)用的時區(qū)
    |--------------------------------------------------------------------------
    | 這個就是時區(qū)操作了,一般如果你沒有對 PHP 進行設(shè)置的話,時區(qū)是美國時區(qū),
    | 也就是 'UTC' ,啊,你是要寫面向我天朝網(wǎng)站么?那就設(shè)置成 'Asia/Shanghai' 吧。
    */
    'timezone' => 'Asia/Shanghai',
    /*
    |--------------------------------------------------------------------------
    | 應(yīng)用的本地化
    |--------------------------------------------------------------------------
    | 簡單的說就是多語言設(shè)置,默認是 'en' 如果你沒有自己寫語言包的話那就還是這個值吧。
    | 你可以在 app/lang 文件夾中看到語言包,如果你沒有多語言想法的話,那就不用管這個了。
    */
    'locale' => 'en',
    /*
    |--------------------------------------------------------------------------
    | 應(yīng)用密鑰
    |--------------------------------------------------------------------------
    | 這是在應(yīng)用 Laravel 自帶的加密功能時會用到的密鑰,是為了保證加密安全性的。
    | 如果你的文件這里不是一個隨機的 32 位字符串的話,你可以用 'php artisan key:generate'
    | 命令生成一個 32 位隨機字符串,啊,記住要在你寫網(wǎng)頁之前做這個事情。
    | 一旦你變更這個字符串,那么用上一個字符串加密過的內(nèi)容就找不回來了?。?BR>    */
    'key' => '',
    );
    其實app.php后面還有一些內(nèi)容,但那些基本上不需要你修改。(只有添加第三方包的時候才有需要,我們會到時候再講)
    接下來介紹database.php文件
    // app/config/database.php 文件
    return array(
    /*
    |--------------------------------------------------------------------------
    | PDO 類型
    |--------------------------------------------------------------------------
    | 默認情況下 Laravel 的數(shù)據(jù)庫是用 PDO 來操作的,這樣能極大化的提高數(shù)據(jù)庫兼容性。
    | 那么默認查詢返回的類型是一個對象,也就是如下的默認設(shè)置。
    | 如果你需要返回的是一個數(shù)組,你可以設(shè)置成 'PDO::FETCH_ASSOC'
    */
    'fetch' => PDO::FETCH_CLASS,
    /*
    |--------------------------------------------------------------------------
    | 默認的數(shù)據(jù)庫連接名
    |--------------------------------------------------------------------------
    | 這里所說的名字是和下面的 'connections' 中的名稱對應(yīng)的,而不是指你用的什么數(shù)據(jù)庫
    | 為了你更好的理解,我在這里換了一個名字
    */
    'default' => 'meinv',
    /*
    |--------------------------------------------------------------------------
    | 數(shù)據(jù)庫連接名
    |--------------------------------------------------------------------------
    | 這里就是設(shè)置各種數(shù)據(jù)庫的配置的,每個數(shù)組里的 'driver' 表明了你要用的數(shù)據(jù)庫類型
    | 同一種數(shù)據(jù)庫類型可以設(shè)置多種配置,名字區(qū)分開就行,就像下面的 'mysql' 和 'meinv'
    | 其他的么,我覺得不需要解釋了吧,就是字面意思,我相信你英文的能力(其實是我英文不好)
    */
    'connections' => array(
    'sqlite' => array(
    'driver' => 'sqlite',
    'database' => __DIR__.'/../database/production.sqlite',
    'prefix' => '',
    ),
    'mysql' => array(
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'database',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    ),
    'meinv' => array( //這里就是上面例子里的默認連接數(shù)據(jù)庫名,實際上是 mysql 數(shù)據(jù)庫
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'database',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    ),
    'pgsql' => array(
    'driver' => 'pgsql',
    'host' => 'localhost',
    'database' => 'database',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'prefix' => '',
    'schema' => 'public',
    ),
    'sqlsrv' => array(
    'driver' => 'sqlsrv',
    'host' => 'localhost',
    'database' => 'database',
    'username' => 'root',
    'password' => '',
    'prefix' => '',
    ),
    ),
    );
    額~,你懂的,我肯定不會都說完么,對于剛開始的你來說,數(shù)據(jù)庫的設(shè)置知道這些就足夠了。
    配置開發(fā)環(huán)境
    有時候我們需要指定開發(fā)環(huán)境是“本地”(本地環(huán)境一般是指我們自己電腦上的虛擬服務(wù)器,并沒有發(fā)布到網(wǎng)上)還是“生產(chǎn)”(生產(chǎn)環(huán)境一般是指線上環(huán)境,就是在正式的服務(wù)器上),亦或是還有其他環(huán)境(有些開發(fā)公司還會分測試環(huán)境等等),以方便做一個配置上的改變,比如“本地”環(huán)境的話就可以打開debug等等,而“生產(chǎn)”環(huán)境就不能打開debug,否則會讓人知道我們服務(wù)器的一些信息,這可是秘密,會造成不安全的。那下面就介紹一下Laravel中的環(huán)境配置。
    環(huán)境配置在bootstrap/start.php中,我們打開這個文件,在里面找到下面這段代碼
    代碼如下:
    $env = $app->detectEnvironment(array(
    'local' => array('your-machine-name'),
    ));
    這里的'your-machine-name'是指你電腦的hostname(啥是hostname?好吧,我也查了好久,就是你的服務(wù)器名)。有童鞋問了:怎么知道我電腦的hostname呢?
    ipconfig /all
    Windows中打開cmd輸入
    下面“主機名”就是hostname,
    Ubuntu中打開終端輸入
    hostname
    顯示的就是hostname
    比如我的電腦的hostname是admin,那么就是這樣的
    代碼如下:
    $env = $app->detectEnvironment(array(
    'local' => array('admin'),
    ));
    好了,配置就介紹到這里,更多的配置內(nèi)容,我會在高級教程里繼續(xù)介紹:)
    轉(zhuǎn)載自
    系統(tǒng)環(huán)境需求
    apache,nginx或者其他web服務(wù)器;
    laravel使用了PHP的一些強而有力的特性,所以需要在PHP5.3或者更高的版本上才能夠執(zhí)行;
    Laravel使用FileInfo library()來檢測文件的mime類型,這個庫在PHP5.3中是默認含有的,但是在Windows中用戶需要自己在php.ini中開啟這個模塊,如果不明白可以看看這里:>;
    Laravel使用了Mcrypt library()來加密和生成hash,在使用這個框架之前,需要保證安裝了這個擴展,你可以通過phpinfo();在web服務(wù)器中查看是否正確安裝,如果不會可以查看:;
    安裝laravel
    下載laravel:;
    解壓壓縮包文件并且上傳到web服務(wù)器;
    設(shè)置config/application.php中key的值,可以設(shè)定一個32個字符串組成的隨機內(nèi)容;
    驗證storage/views是否可寫;
    在瀏覽器訪問你的應(yīng)用程序;
    到這里你已經(jīng)完成了一個Laravel的安裝,這里還有更多的東西需要了解。
    額外的內(nèi)容
    安裝下面一些額外的擴展,這樣你可以充分的利用Laravel
    SQLite, MySQL, PostgreSQL, or SQL Server PDO drivers.
    Memcached or APC.
    問題?
    如果你有安裝問題,嘗試下面內(nèi)容:
    確保public目錄是你站點的根目錄(參看下面的服務(wù)器配置)
    如果你使用的mod_rewrite,設(shè)置application/config/application.php中的index項為空。
    驗證你的存儲文件夾是可寫的。
    服務(wù)器配置
    這里我們保函了一個最基本的apache的配置,我們的Laravel的根目錄在:/Users/JonSnow/Sites/MySite
    配置信息如下:
    代碼如下:
    <VirtualHost *:80>
    DocumentRoot /Users/JonSnow/Sites/MySite/public
    ServerName mysite.dev
    </VirtualHost>
    注意:我們安裝到/Users/JonSnow/Sites/MySite,我們的DocumentRoot到/Users/JonSnow/Sites/MySite/public.
    Laravel入門使用的是Windows環(huán)境,但是并不要求你也使用Windows,你可以在喜歡的系統(tǒng)下進行。
    對于PHP運行環(huán)境的安裝不在本教程的范圍之類,這里只說明下基本要求。
    Web服務(wù)器:
    PHP 5.3及以上版本
    PDO模塊
    Mcrypt模塊
    MYSQL數(shù)據(jù)庫
    本教程所用環(huán)境:
    PHP 5.4.5
    MYSQL 5.0.45
    安裝Laravel框架:
    下載Laravel框架:Laravel官方下載 | Github下載
    把框架解壓到服務(wù)器目錄
    簡單的兩步Laravel框架就安裝完畢了,為了測試是否安裝成功,在瀏覽器中訪問:
    public目錄是框架自帶的那個文件夾,如果看到laravel的初始界面,那就是說明已經(jīng)安裝成功。