6

私は、codeigniterを使用したアプリケーションの開発、テスト、本番など、複数の環境を使用した場合の最善の行動方針を理解しようとしています。

現在、アプリケーション用に1つのフォルダーがあります。構成ファイルで各環境のフォルダーを作成し、たとえばデータベースファイルのコピーを各環境フォルダーに配置する場所について説明しているところがあります。

これは複数の環境を処理するための最良の方法ですか?私が尋ねている理由は、開発サブドメインで作業している場合でも、すべて同じファイルをメインルートフォルダーに再アップロードする必要があるためです。これは最高のワークフローですか?

つまり、基本的に2つのサイトがあります。

dev.siteurl.com siteurl.com

私はこれを処理するための最良のオプションを見つけようとしています。すべてのファイルをメインレベルに再度アップロードして、本番サーバーを処理できるようにする必要があるのか​​、それとももっと簡単な方法があるのか​​疑問に思っているからです。

4

3 に答える 3

10

はい、それが機能する方法は、/ application / configフォルダーの下にあり、developmentという名前の追加のネストされたフォルダーを作成します。

/ application / config / development /

開発内に、database.phpファイルのコピーを配置し、開発データベースの設定を変更します

/application/config/development/database.php

次に、現在使用しているバージョンをcodeigniterに通知する必要があるため、ベースルートフォルダーでindex.phpを編集します。

/index.php

define('ENVIRONMENT', 'development');

/config/development/database.phpを使用する場合は、環境を開発に変更し、本番データベースを使用する場合は、環境を本番に変更します。

編集:また、CI TOCにはこれを説明する簡単なセクションがあります:https ://www.codeigniter.com/user_guide/general/environments.html

于 2013-03-10T23:15:47.220 に答える
7

私はindex.phpで環境を定義
しています

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

ENVIRONMENT 変数に従って構成セクションを使用する

于 2013-03-11T12:13:47.383 に答える
3

これが古いスレッドであることは知っていますが、現在 Codeigniter プロジェクトに取り組んでおり、2 つの異なる URL で 2 つのコードベースを維持する必要なく、2 つの環境を維持する良い方法を探していました。他の誰かが同様の答えを探している場合に備えて、1 つのコードベースを維持できる解決策を次に示します。

現在のプロジェクトには、siteurl.com と siteurl.com/sandbox があります。

siteurl.com/index.php

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

siteurl.com/sandbox/index.php

define('ENVIRONMENT', 'development');
$system_path = '../../system';
$application_folder = '../../application';
于 2014-11-12T17:08:27.067 に答える