2016-07-24 3 views
0

PHP.initからサーバーホストを読み取るにはどうすればよいですか?PHP PHP.iniからサーバーホストを取得する方法

localhostのサイトを本番サーバーにコピーして、コードを変更することなく動作させたいと考えています。

+0

php.iniはご使用のサーバーのホストに関する情報を持っていません。他のphp.iniファイルを取得するには 'ini_get'関数があります。 –

+1

サイト自体を指す絶対URLサーバーサイトを作成するほとんどの状況では、 '$ _SERVER ['HTTP_HOST']'を使用します。 – CBroe

答えて

1

開発環境のプロダクションサーバーのiniファイルを使用して、コードを開発環境から本番環境に移行する際の驚きを避けることができます。あなたのコードでは異なる何かをする必要がある場合は、それがある場合は、ドメインを抽出して、ドメインの値に基づいてする必要があるものは何でも、

$_SERVER['HTTP_HOST'] 

が設定されているかどうかを確認して。

if (isset($_SERVER['HTTP_HOST'])) { 

    $hostbu = explode('.',$_SERVER['HTTP_HOST']); 
    $domain = $hostbu[(count($hostbu) - 2)] . '.' . $hostbu[(count($hostbu) - 1)]; 

} else {$domain = '';} // end of if the server variable HTTP_HOST is set; else set domain to null 

// we are NOT on the development machine 
// change the logic to see if you are on the production machine depending on your needs 

if ($domain != 'devdomain.com') { 

    spl_autoload_extensions(".class"); // may be a comma-separated list of extensions 
    spl_autoload_register(); 
// do anything else you need to do here 

} 
+0

ありがとう、Dave。それは何をしているのですか?ちょうど骨抜き – Mawg

+1

ベストソースはマニュアルですhttp://php.net/manual/en/ref.spl.phpクラスを自動ロードするのは簡単ですし、php.iniの適切なインクルードパスを使用すると、 Webルート。 – Dave

+0

ICIC。ありがとう。 Btw、 'hostbu'はどういう意味ですか?なぜ '$ domain'ですか?私にとっては、 '$ hostbu' =' localhost'と '$ domain' =' .localhost'です。先頭にドットが付きます。何をしていますか?ちょうど私は理解することができます。 – Mawg

関連する問題