PHP

CakePHPで開発環境と本番環境の設定を切り替える方法。

投稿日:2014年5月27日 更新日:

CakePHPフレームワークを利用し、データベースを利用したCMSなど制作する際、開発環境と本番環境で同じファイルにしたい場合があるかと思います。

今回は、『SetEnv』を利用した開発環境と本番環境の切り替え方法をご紹介します。

一般的な方法として、$_SERVER環境変数で条件分岐する方法がございますが、
この方法で、注意しないといけないポイントとして
CRONなどでコンソールからプログラムを動作させる場合、$_SERVER環境変数は利用できないということです。

その場合、SetEnvを利用してみましょう。

1)開発環境の .htaccess  に下記を追記(.htaccess を使える環境が前提。httpd.confでも構いません。)
SetEnv APL_ENV development

※本番環境では不要です。

2)CakePHP の最初に読み込まれる index.php に下記を追記
defined(‘APL_ENV’) || define(‘APL_ENV’, (getenv(‘APL_ENV’) ? getenv(‘APL_ENV’) : ‘production’));

3)データベースの切替ファイルで下記のように条件分岐

if ( env(‘APL_ENV’) == ‘development’ ) {
}

このような方法ですとコンソールを利用したプログラムにも対応できるかと思います。

-PHP

関連記事

phpフレームワークlaravel4でデータベースを操作してみました。

phpフレームワークlaravel4でデータベースを操作してみました。

phpのフレームワークlaravel4でデータベースの操作をためしました。 laravel4では、「Eloquent ORM」が含まれており、簡単にデータベースの操作が可能です。 1. 今回ブログの記 …

Laravel SocialiteでGitHubを利用した認証

Laravel SocialiteでGitHubを利用した認証

目次1 Lravel SocialiteでGitHubを利用したOAuthによる認証の手順を紹介します。1.1 1. GithubでOAuthアプリケーションを作成1.2 2. Laravel標準の認 …

Google AnalyticsのPV数を取得するための準備について。

Google AnalyticsのPV数を取得するための準備について。

ウェブサイトのアクセス数をサイト内に表示させたい場合があるかと思います。 今回は直接Google AnalyticsのPV数を取得するまでの準備についてご紹介いたします。 目次1 1)Google A …

CakePHPのルーティング例

CakePHPのルーティング例

Webサイトではアドレスの構造は重要です。 CakePHPのルーティングの例について紹介します。 1. Router::connect(‘/index/’, array(‘controller’ =& …

CakePHPのモデルの便利な機能について

CakePHPのモデルの便利な機能について

CakePHPのモデルにあります便利な機能について紹介します。 – virtualFields ブログのエントリーのテーブルがありまして、 カテゴリごとのエントリー数を取得する場合、 以下のfindを …