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