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