服務器要求
Laravel 對系統有一些要求。當然,所有這些要求 Laravel Homestead 虛擬機都能滿足,因此強烈推薦你使用 Homestead 最為你的開發環境。
當然,假如你不使用 Homestead,請確保你的服務器滿足以下要求:
- PHP >= 7.1.3
- OpenSSL PHP 拓展
- PDO PHP 拓展
- Mbstring PHP 拓展
- Tokenizer PHP 拓展
- XML PHP 拓展
- Ctype PHP 拓展
- JSON PHP 拓展
- BCMath PHP 拓展
安裝 Laravel
Laravel 使用 Composer 來管理項目依賴。因此,在使用 Laravel 之前,請確保你的機器已經安裝了 Composer。
通過 Laravel 安裝器
首先,通過使用 Composer 安裝 Laravel 安裝器:
composer global require laravel/installer
確保將 composer's system-wide vendor bin 目錄放置在你的系統環境變量 $PATH
中,以便系統可以找到 Laravel 的可執行文件。該目錄根據你的操作系統存在不同的位置中;一些常見的配置包括 :
macOS: $HOME/.composer/vendor/bin GNU / Linux 發行版: $HOME/.config/composer/vendor/bin Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
安裝完成后,laravel new
命令會在你指定的目錄創建一個全新的 Laravel 項目。例如, laravel new blog
將會創建一個名為 blog
的目錄,並已安裝好 Laravel 所有的依賴項:
laravel new blog
通過 Composer 創建項目
或者,你也可以在終端中運行 create-project
命令來安裝 Laravel:
composer create-project --prefer-dist laravel/laravel blog
本地開發環境
如果你在本地安裝了 PHP, 並且你想使用 PHP 內置的服務器來為你的應用程序提供服務,則可以使用 Artisan 命令serve
。該命令會在 http://localhost:8000
上啟動開發服務器:
php artisan serve
配置
公共路徑
安裝完 Laravel 之后,你應該配置你的 web 服務的文檔目錄指向 public
路徑。該路徑下的 index.php
文件作為進入應用的所有 HTTP 請求的前端控制器。
配置文件
Laravel 框架的所有配置文件存放在 config
目錄下。每個選項都有文檔標注,便於通過文件查看並熟悉對你有用的選項。
目錄權限
在安裝 Laravel 后,你可能需要配置一些權限。 storage
和 bootstrap/cache
目錄在你的 web 服務下應該是可寫的權限,否則 Laravel 將無法運行。如果你用的是 Homestead 虛擬機,這些權限應該已經設置好了。
應用秘鑰
安裝好 Laravel 之后的下一步是設置你的應用秘鑰為隨機字符串。如果你通過 composer
或者 Laravel 安裝器安裝的,這個秘鑰已經通過 php artisan key:generate
命令為你設置好了。
通常,這個字符串應該是 32 個字符長度。這個秘鑰將會設置在環境變量文件 .env
中。如果你還沒有將 .env.example
文件重命名為 .env
文件,你需要將 .env.example
文件重命名為 .env
文件。如果應用秘鑰還沒有設置,你的用戶會話和其他的加密數據將會不安全!
其他配置
Laravel 幾乎不需要除上面所說的其他什么配置了。你可以隨心所欲的開始開發了!然而,你可能會想要再次查看 config/app.php
文件和它的注釋說明。它包含一些你可能希望根據你應用來更改的選項,諸如: timezone
和 locale
。
你還可能想要配置 Laravel 的其他的一些組件,例如:
- 緩存
- 數據庫
- 會話控制
Web 服務器配置
優雅鏈接
Apache
Laravel 中包含了一個 public/.htaccess
文件通常用於在資源路徑中隱藏 index.php
的前端控制器。在用 Apache 為 Laravel 提供服務之前,確保啟用了 mod_write
模塊,這樣 .htaccess
文件才能被服務器解析。
如果 Laravel 附帶的 .htaccess
文件不起作用,嘗試下面的方法替代:
Options +FollowSymLinks -Indexes RewriteEngine On RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
Nginx
如果你使用 Nginx ,在你的站點配置中加入以下配置,所有的請求將會引導至 index.php
前端控制器。
location / { try_files $uri $uri/ /index.php?$query_string; }
當你使用 Homestead 或者 Valet 時,優雅鏈接將會自動配置好。