一、首先了解下composer
1. composer是管理PHP依賴的工具,允許你聲明項目依賴庫並在項目中安裝這些依賴。其基於項目來管理‘包’或者庫,將這些包或庫安裝在項目中一個文件夾下,不會造成全局影響。
2. composer所解決的問題:
a)你的項目依賴於很多庫
b)其中一些庫又又依賴於另一些庫
c)你聲明所依賴的庫
d)composer來解決哪些包的哪些版本需要安裝,並安裝(意味着下載到用戶的項目中)
3. 聲明依賴:
假設你要創建一個新的項目,需要一個庫來記錄日志並決定使用monolog。為了將該庫天井到你的項目,你只需要創建一個名為‘composer.json’的文件來描述項目的依賴
{ "require": { "monolog/monolog": "1.2.*" } }
只需要簡單的聲明項目需要任何以1.2版本開頭的monolog/monolog
包。
二、根據官網的docs(中文版)步驟安裝laravel
1. 安裝Composer
下載windows installer 雙擊運行Composer-Setup.exe,會自動檢測已安裝的php.exe,點擊下一步直到出現Install按鈕,點擊之后可能會出現如圖所示錯誤:
也就是需要開啟php的openssl功能,打開你php.ini文件,找到;extension=php_openssl.dll該語句,將前面的分號注釋去掉重啟apache,再重新安裝就可以了。
2. 安裝Laravel
官網上提供了三種安裝方式:
1)通過Laravel Installer安裝
運行cmd命令打開命令行窗口,輸入以下命令:
composer global require "laravel/installer=~1.1"
等待安裝完成,安裝完之后需要將路徑加入PATH中,才能使用lavarel命令,在安裝時開頭有這樣一句話根據這個位置找到路徑:
首先要在文件夾選項中選擇顯示所有隱藏文件,才能在自己用戶名下找到AppData這個文件夾,將C:\Users\你的用戶名\AppData\Roaming\Composer\vendor\bin加到環境變量PATH中即可。
然后運行laravel命令即可:laravel new <project name>
在G盤下打開blog文件夾:
2)通過composer Create-Project安裝
同樣在cmd中輸入以下命令:
composer create-project laravel/laravel --prefer-dist
執行命令后在命令行窗口顯示了整個安裝過程,而在G盤下的laravel項目文件夾里的內容與方法1)內容是相同的。
3)通過下載安裝
下載laravel的最新版本,下載后解壓,
文件中內容為:
在命令行中進入該文件夾輸入以下命令:
php composer.phar install
運行之后顯示以下錯誤:Could not input open file: composer.phar
研究了半天不知道為什么,那就用以下命令來代替吧,還簡單些,同樣可以安裝成功:
composer install
運行完畢之后,laravel-master下內容變為:
多了如上圖所示的三個文件。
三、系統需求
- PHP >= 5.4
- MCrypt PHP Extension(php>=5.3默認開啟mcypt擴展)
四、配置
Laravel基本上不需要什么配置,不過最好瀏覽一下config/app.php
文件及其文檔,其中包含了如timezone和locale等選項,可以根據自己的需求更改。安裝完Lravel之后需要配置本地環境,可以使你在開發時得到詳細的錯誤信息。配置文件中詳細錯誤信息報告默認是禁用的。
NOTE:永遠不要將app.debug設為true。
權限:Laravel需要設置一系列的權限:web服務器需要storage文件夾的寫權限。
路徑:框架的幾個文件路徑是可配置的,配置bootstrap/paths.php
改變這些文件的路徑
五、“好看”的URL
Apache:框架通過使用public/.htaccess允許URl不需要顯示index.php。如果使用apache作為Laravel應用的服務器,確保啟用了mod_rewrite模塊。
如果.htaccess文件不起作用,試試以下配置:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
Nginx:下面的直接設置就可以允許“好看的”URL:
location / { try_files $uri $uri/ /index.php?$query_string; }