localhost と Web サーバーの両方で動作するデータベース接続 php ファイルが必要です。アイデアは、ローカルホストにいる場合はいくつかの定数を使用し、ウェブサーバーにいる場合は他の定数を使用することです。
編集:質問の解決策は、私がローカルホストにいるかどうかを知ることでした。
localhost と Web サーバーの両方で動作するデータベース接続 php ファイルが必要です。アイデアは、ローカルホストにいる場合はいくつかの定数を使用し、ウェブサーバーにいる場合は他の定数を使用することです。
編集:質問の解決策は、私がローカルホストにいるかどうかを知ることでした。
$local = array('localhost', '127.0.0.1');
if(in_array($_SERVER['HTTP_HOST'], $local)).
{
$pdo = new PDO('mysql:host=localhost;dbname=database', 'user', 'password');
}
else
{
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
}
PDO を使用する必要があります。これにより、localhost と 127.0.0.1 がチェックされます。
本当に必要なのは、環境ごとにバージョン管理された構成ファイルを作成することです。データベース接続情報を含む local/dev 構成ファイルと、運用またはステージング用の別の構成ファイルがあります。
PHP アプリケーションを適切な構成ファイルに指定するだけで、アプリケーションは適切なデータベース マシンと通信します。
アプリケーションが複数の環境を指すようにしようとするのは悪い考えです。すぐに混乱してしまいます。
いつでも確認できます$_SERVER['HTTP_HOST']
。
if ($_SERVER['HTTP_HOST'] == "localhost") {
mysql_connect($host_local, ...);
} else {
mysql_connect($host_web, ...);
}