2016-01-04 12 views
6

複数のサーバーに展開できる単一の.htaccessファイルを使用する予定です。このプロセスでは、.htaccessファイルに環境変数を設定しています。設定にIPアドレスを読みたい場合がいくつかあります。例えば、ある場合には、私は、ローカル・データベース接続のための環境変数を設定しています:私はのでローカルIPアドレスを.htaccessファイルに読み込むにはどうすればよいですか?

define('DBL', getenv('DBL')); 

SetEnv DBL "mysql:dbname=oars;host=192.168.101.1;port=3306" 

次にPHPで私は、データベースとの対話で使用するための変数を読んでいました複数のサーバーに配備する計画を立てると、サーバーごとに個別の.htaccessファイルを管理するのではなく、IPアドレスを自動的に取得する方法がありますか?

+1

あなたはMySQL用のローカル・データベース接続をしたい場合は、なぜあなたは '127.0.0.1'を使用していませんか? TCP/IPの代わりに 'localhost'とUNIXソケットを使っているのはなぜですか? – Quentin

+0

私たちのシステムの特徴のいくつかのために、ローカルホストまたは127.0.0.1アドレスを使用することはできません@クエントン –

+1

「SetEnv DBL」でmysql:dbname = oars; host =%{SERVER_ADDR}; port = 3306 "'? – Croises

答えて

7

あなたは環境変数ENVを設定するルールを使用することができます。

RewriteEngine on 
RewriteRule^- [E=DBL:mysql\:dbname=oars\;host=%{SERVER_ADDR}\;port=3306] 

print getenv("DBL"); 
mysql:dbname=oars;host=1.2.3.4.5;port=3306 
+3

ああ!私はあなたが書き換えルールを介して環境変数を設定できるかどうか分かりませんでした。本当に目を開いて完全に動作します。 –

関連する問題