-1

localhost と Web サーバーの両方で動作するデータベース接続 php ファイルが必要です。アイデアは、ローカルホストにいる場合はいくつかの定数を使用し、ウェブサーバーにいる場合は他の定数を使用することです。


編集:質問の解決策は、私がローカルホストにいるかどうかを知ることでした。

4

3 に答える 3

3
$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 がチェックされます。

于 2013-02-04T20:12:39.050 に答える
2

本当に必要なのは、環境ごとにバージョン管理された構成ファイルを作成することです。データベース接続情報を含む local/dev 構成ファイルと、運用またはステージング用の別の構成ファイルがあります。

PHP アプリケーションを適切な構成ファイルに指定するだけで、アプリケーションは適切なデータベース マシンと通信します。

アプリケーションが複数の環境を指すようにしようとするのは悪い考えです。すぐに混乱してしまいます。

于 2013-02-04T20:07:46.713 に答える
1

いつでも確認できます$_SERVER['HTTP_HOST']

if ($_SERVER['HTTP_HOST'] == "localhost") {
    mysql_connect($host_local, ...);
} else {
    mysql_connect($host_web, ...);
}
于 2013-02-04T20:09:27.693 に答える