start.php修正
1 2 3 4 5 6 7 8
| $env = $app->detectEnvironment(function(){ if(isset($_SERVER['APP_ENV'])){ return $_SERVER['APP_ENV']; } return 'dev'; });
|
環境別設定ファイルの作成
環境用のフォルダをapp/config内に作成します。今回はdev環境とprod環境にわけますのでdevフォルダとprodフォルダを作成します。
※ 本番環境との切り分けだけならprodフォルダの作成のみでも問題ありません。
※ 複数の環境を構築する場合があるかと思い今回は2つ環境を設定しています。(prod test dev等)
1 2 3 4 5
| project └──app └──config └──dev(環境フォルダ) └──prod(環境フォルダ)
|
環境別設定ファイル作成
基本的に上書きしたい設定のみの記述で問題ありません。上書きしたい設定ファイルを環境フォルダ内に生成します。
自分は下記のようなファイルを作成しています。
app.php(prodフォルダ内に生成)
1 2 3 4 5
| <?php return array( 'debug' => false, 'url' => 'http://●●●.com', );
|
database.php(prodフォルダ内に生成)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php return array( 'connections' => array( 'mysql' =>; array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'sample', 'username' => 'root', 'password' => '********', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', ), ), );
|
Nginx設定ファイル
$SERVER[‘APP_ENV’]が設定されていなければ自動的にdev環境になるようになっていますので、本番環境のNginxに下記設定を加えます。
1 2 3 4 5 6 7 8 9 10 11
| location / { try_files $uri /index.php?$query_string; } location ~ \.php { fastcgi_param APP_ENV prod; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_split_path_info ^(.+\.php)(.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; }
|
これで上記設定をいれたNginx上ではprod環境で動かすことが可能です。
Ads