2013-03-10 16 views
5

私は、開発、テスト、制作など、複数の環境を使用して、Codeigniterを使用してアプリケーションを最適化する方法を理解しようとしています。複数の環境でcodeigniterを使用する

現在、私のアプリケーション用に1つのフォルダがあります。 configファイルには、環境ごとにフォルダを作成し、それぞれの環境フォルダにデータベースファイルのコピーなどを置く場所があります。

これは複数の環境を処理する最善の方法ですか?私が求めている理由は、私が私のdevサブドメインで作業するなら、私はまだメインのルートフォルダにすべて同じファイルを再アップロードしなければならないからです。これは最高のワークフローですか?

基本的に私は2つのサイトを持っています。

dev.siteurl.com siteurl.com

私はこれを処理する最良の選択肢を把握しようとしています。なぜなら、すべてのファイルをメインレベルに再アップロードして、プロダクションサーバーを処理できるようにするか、それとも簡単な方法があるのか​​という疑問があるからです。

答えて

7

はい、それが動作する方法は、あなたの/アプリケーション/ configフォルダの下にあるあなたが

/アプリケーション/設定/開発を持っているように、あなたは開発と呼ばれる余分なネストされたフォルダを作成/

開発インサイドあなたが配置されますあなたのdatabase.phpでファイルのコピーと

/application/config/development/database.php

あなたの開発データベースの設定を変更するお使いのベースにあるので、THENあなたは、あなたがオンになっているどのバージョンのCodeIgniterを伝える必要がありますルートフォルダ編集のindex.php:

/index.php

define('ENVIRONMENT', 'development'); 

あなたが使用したいときに、開発にご使用の環境を変更し、う/config/development/database.phpを使用したいです本番に環境を変更します本番データベース

編集:また、CI TOCはこのことを説明する簡単なセクションがあります:http://ellislab.com/codeigniter/user-guide/general/environments.html

+0

siteurl.com/sandbox/index.php PHP

define('ENVIRONMENT', 'production'); $system_path = '../system'; $application_folder = '../application'; 

だから私は、ライブ本番ルートにすべて同じファイルやフォルダをアップロードする必要があるだろうか? –

+0

いいえ、/ application/config/development /にあるファイルは、ENVIRONMENT変数を変更したときに/ application/config /内の同じファイルを上書きします。これは、開発環境とは異なる環境(データベース設定など)がある場合です。あなたの質問はワークフローの質問ですか? –

+0

私はdev.siteurl.comとsiteurl.comを持っていて、同じファイルを2度アップロードしなければならないと思いますか? –

6

私はindex.phpの
でenvirementを定義しています0

if ($_SERVER['SERVER_NAME']=='siteurl.com') 
    define('ENVIRONMENT', 'production'); 
else if ($_SERVER['SERVER_NAME']=='test.siteurl.com') 
    define('ENVIRONMENT', 'testing'); 
else 
    define('ENVIRONMENT', 'development'); 

ような何かを、私は、これは古いスレッドですけど、私は今、CodeIgniterのプロジェクトに取り組んでいますし、2を維持するための良い方法を探していた環境変数

2

に応じて設定セクションを使用します2つの異なるURLで2つのコードベースを維持する必要はありません。他の誰かが同様の答えを探している場合は、ここでは1つのコードベースを維持できる解決策があります。

私の現在のプロジェクトでは、私はsiteurl.comとsiteurl.com/sandboxを持っています。

siteurl.com/index。

define('ENVIRONMENT', 'development'); 
$system_path = '../../system'; 
$application_folder = '../../application'; 
関連する問題