2015/06/19

[Laravel] 用 Composer 安裝特定版本的 Laravel

僅管現在 Laravel 已經釋出 5.1 版, 目前還是遇到客戶主機環境太舊, 僅能跑 PHP 5.3 的版本

所以至少還是會安裝 Laravel 4.1 的版本

composer create-project laravel/laravel [ProjectName] 4.1.*

如果要裝最新的版本, 就參照官方的使用方法, 下載 laravel 安裝套件

laravel new [ProjectName]

2015/06/18

[Laravel] Laravel 4.1 環境偵測 - 第二彈

預設的環境偵測寫法有點不太好用

以電腦的 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

記錄一下, 以免未來又忘記了

2015/06/16

[PHP] 變更預設上傳大小限制

PHP 預設上傳大小 post_max_size 為 8 MB
若要增大尺寸有兩個方式

1. 修改 php.ini (需重啟伺服器)

post_max_size=20M
upload_max_filesize=20M

2. 在 .htaccess 中設定

php_value post_max_size 20M
php_value upload_max_filesize 20M


2015/06/03

[nginx] 高效能輕巧伺服器 nginx

偶然發現很多用 nginx 伺服器的文章

用了十多年的 Apache, IIS 基本上已經涵蓋所有開發平台

花了幾分鐘小玩了一下 nginx

真的是超級輕量, 安裝又無敵簡單, 就可以啟動網站伺服器了

在 Terminal 只要輸入 nginx 就啟動服務囉
nginx

在網址列輸入 localhost 就看到啟始頁囉
簡單到無法置信... Apache, IIS 都還要經過安裝步驟, nginx 只需要...解壓縮

其他進階指令, 只要下 nginx -h 就有完整使用方法


發現寫這篇文章花的時間, 比 nginx 從下載, 到解壓縮, 到啟動伺服器, 開啟瀏覽歡迎頁, 到下 nginx -s stop 還要長

就當是超級 nginx 入門款吧

[Laravel] Laravel 4.1 偵測環境設定

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

參考: Setting Up Multiple Environments in Laravel 4.1