僅管現在 Laravel 已經釋出 5.1 版, 目前還是遇到客戶主機環境太舊, 僅能跑 PHP 5.3 的版本
所以至少還是會安裝 Laravel 4.1 的版本
composer create-project laravel/laravel [ProjectName] 4.1.*
如果要裝最新的版本, 就參照官方的使用方法, 下載 laravel 安裝套件
laravel new [ProjectName]
僅管現在 Laravel 已經釋出 5.1 版, 目前還是遇到客戶主機環境太舊, 僅能跑 PHP 5.3 的版本
所以至少還是會安裝 Laravel 4.1 的版本
composer create-project laravel/laravel [ProjectName] 4.1.*
如果要裝最新的版本, 就參照官方的使用方法, 下載 laravel 安裝套件
laravel new [ProjectName]
預設的環境偵測寫法有點不太好用
以電腦的 hostname 來做分 local, 始終覺得不方便
尤其不是只有用單一電腦來做開發
換了電腦, 名稱又變更, 要一直改來改去好像也不是太好的做法
而且也不想把自己所有的主機名稱都放上去主機端
最終我決定用我開發的 vhost 來取決是否為開發環境
只要不是開發用的 vhost, 那麼就都視為正式環境
以後專案只要複製以下 code, 改掉開發 domain 即可~
修改的檔案: bootstrap/start.php
$env = $app->detectEnvironment(function() { return ($_SERVER['SERVER_NAME'] == "project.dev") ? "local" : "production"; });
不過如果設定這個方法, 在用 migration 的時候需要指定 env 為哪一個
php artisan migrate --evn=local
記錄一下, 以免未來又忘記了
PHP 預設上傳大小 postmaxsize 為 8 MB
若要增大尺寸有兩個方式
post_max_size=20M
upload_max_filesize=20M
php_value post_max_size 20M
php_value upload_max_filesize 20M
偶然發現很多用 nginx 伺服器的文章
用了十多年的 Apache, IIS 基本上已經涵蓋所有開發平台
花了幾分鐘小玩了一下 nginx
真的是超級輕量, 安裝又無敵簡單, 就可以啟動網站伺服器了
在 Terminal 只要輸入 nginx 就啟動服務囉
nginx
簡單到無法置信… Apache, IIS 都還要經過安裝步驟, nginx 只需要…解壓縮
其他進階指令, 只要下 nginx -h 就有完整使用方法
發現寫這篇文章花的時間, 比 nginx 從下載, 到解壓縮, 到啟動伺服器, 開啟瀏覽歡迎頁, 到下 nginx -s stop 還要長
就當是超級 nginx 入門款吧
Laravel 4.1 專案中都要這麼設定~ Laravel 5.1 都要釋出了還不能升版….殘念~
怎麼客戶的主機版本都還停在 PHP 5.3, 5.4, 只好自己練功儲備…跳過 5, 直煉 5.1
提外話, 回到正題…預設環境設定要填上主機名稱來判斷環境
$env = $app->detectEnvironment(array(
'local' => array('local-machine-name'),
'staging' => array('staging-machine-name')
));
其實很不喜歡把 hostname 放上去, 寫死又不親民
找到一個簡單的設定方法, 我覺得還不錯, 記錄一下
用變數來做判斷最符合開發模式
$env = $app->detectEnvironment(function()
{
// LARAVEL_ENV 不設定, 預設值為 local
return getenv('LARAVEL_ENV') ?: 'local';
});
而這個 LARAVEL_ENV 的環境變數, 需要在 .htaccess 裡設定
# 設定為本地開發環境
SetEnv LARAVEL_ENV local