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)容就找不回來了??! */ '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)載自http://www.golaravel.com/
系統(tǒng)環(huán)境需求
apache,nginx或者其他web服務(wù)器;
laravel使用了PHP的一些強而有力的特性,所以需要在PHP5.3或者更高的版本上才能夠執(zhí)行;
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服務(wù)器中查看是否正確安裝,如果不會可以查看:http://php.net/manual/en/book.mcrypt.php;
安裝laravel
下載laravel:http://laravel.com/download;
解壓壓縮包文件并且上傳到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框架就安裝完畢了,為了測試是否安裝成功,在瀏覽器中訪問:
http://localhost/public/
public目錄是框架自帶的那個文件夾,如果看到laravel的初始界面,那就是說明已經(jīng)安裝成功。
相關(guān)文章
php批量刪除數(shù)據(jù)庫下指定前綴的表以prefix_為例
這篇文章主要介紹了如何用php批量刪除數(shù)據(jù)庫下所有前綴為prefix_的表,這個功能比較實用,需要的朋友可以參考下2014-08-08php-fpm超時時間設(shè)置request_terminate_timeout資源問題分析
之前發(fā)現(xiàn)一個php配置之后關(guān)于返回500和502的問題,今天看到一個兄弟寫的非常不錯,記錄一下2019-09-09PHP函數(shù)extension_loaded()用法實例
這篇文章主要介紹了PHP函數(shù)extension_loaded()用法,實例分析了函數(shù)extension_loaded()檢查一個擴展是否已經(jīng)加載的具體用法,并補充說明了查看本機已加載php擴展的方法,需要的朋友可以參考下2015-01-01學(xué)習(xí)php設(shè)計模式 php實現(xiàn)訪問者模式(Visitor)
這篇文章主要介紹了php設(shè)計模式中的訪問者模式,使用php實現(xiàn)訪問者模式,感興趣的小伙伴們可以參考一下2015-12-12