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的初始介面,那就是說明已經安裝成功。