1

Php と CodeIgniter (LAMP スタック上) を使用して新しい Web サイトを構築しています。要件の 1 つは、同じ Web サイトの複数のバージョン (「ライブ」バージョンと「開発」バージョンなど) を同時に実行できる機能を備えていることです。必要に応じて、バージョン間を前後に切り替えるための迅速かつ安全な方法が必要です。

良いテクニックを教えてください。

アップデート

追加要件:

  • 開発者は新しいバージョンを簡単に作成できる必要があります

  • エンド ユーザーはライブ バージョンを使用していることに気付かないはずです。何らかのタグを付けられるのは開発者だけです。

4

3 に答える 3

2

通常、構成ファイルが使用されます。例えば、

/live.domain.com/conf/config.php

アプリケーションのそのインスタンスに固有の情報を保持します。アプリケーションは、スクリプト内からインスタンス固有の情報を呼び出すことは決してありません。つまり、DSN、パス、電子メール アドレス、画像などをハードコードするべきではありません。すべての情報は構成ファイルに含まれている必要があります。

例は次のとおりです。

<?
$dsn_user = 'live';
$dsn_pass = 'live_password_1234234cx';
$dsn_host = 'localhost';
$dsn_type = 'mysql';
$dsn_db   = 'live';
$site_name = 'Bob's Store [live]';
$admin = 'bob@bobsstore.com';
$debug = 0
?>

次に、2 番目のサイトのセットアップが必要な場合は、リビジョン管理システム (ですね?) を別のディレクトリにチェックアウトし、構成ファイルを編集してテスト用データベースを参照するだけです。

一般に、ライブ サイトと開発サイトで同じ物理データベースを共有することは悪い習慣です (データベース エンジンではありません。単一の MySQL データベース サーバーで 50 のサイトをホストすることは問題ありませんが、各サイトは MySQL 内に独自のデータベースを持つ必要があります)。

理想的には、一連のテスト データをロードして、新しい基本システムにすばやくデータを入力できるセットアップ ファイルが必要です。

于 2010-12-17T16:43:23.607 に答える
0

dev バージョンのサブドメインを使用するだけです。例:

// prod version
www.example.com

// dev version
dev.example.com

dev の 1 つの脆弱性が悪用される可能性があり、ライブ バージョンに害を及ぼす可能性があるため、それらを分離することは非常に重要です。

于 2010-12-17T16:47:24.253 に答える
0

1 つの CodeIgniter インストールで複数のサイトを実行したい場合の解決策は次のとおりです

前述したように、データベースがある場合は、設定でそのことを覚えておく必要があります。

于 2010-12-17T16:43:44.823 に答える