ローカルホスト名を提供するPHP関数または変数はありますか?

StackOverflow https://stackoverflow.com/questions/211885

  •  03-07-2019
  •  | 
  •  

質問

Apacheでスクリプトを実行するとき、エラー報告の電子メールメッセージに$_SERVER['SERVER_NAME']値を挿入します。

ただし、Webスクリプトが<!> quot; worker <!> quot;を分岐する場合、 nohup php ...のジョブ、hostnameはそこで空のように見えます。したがって、エラーが発生した場合、ホスト名なしで報告されます。

Unix <=>コマンドを呼び出さずに、PHPを使用してホスト名を確実に取得できますか?

役に立ちましたか?

解決

php_uname(<!> quot; n <!> quot; )

  

(PHP 4 <!> gt; = 4.0.2、PHP 5)
  php_uname <!>#8212;についての情報を返します   PHPが実行されているオペレーティングシステム

     

php_uname()は、PHPのオペレーティングシステムの説明を返します   で実行しています。これは、最上部に表示される文字列と同じです   phpinfo()の出力。オペレーティングシステムだけの名前については、   PHP_OS定数を使用しますが、この定数には   オペレーティングシステムPHPが構築されました。

     

一部の古いUNIXプラットフォームでは、特定できない場合があります   現在のOS情報。その場合、表示に戻ります。   OS PHPはその上に構築されました。これはuname()ライブラリの場合にのみ発生します   呼び出しが存在しないか、機能しません。

他のヒント

PHP <!> gt; = 5.3.0で使用

$hostname = gethostname();

PHP <!> lt; 5.3.0が<!> gt; = 4.2.0はこれを使用

$hostname = php_uname('n');

PHPの場合<!> lt; 4.2.0次のいずれかを試すことができます。

$hostname = getenv('HOSTNAME'); 
$hostname = trim(`hostname`); 
$hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a')); 

_GLOBALS['MACHINENAME']を使用して、globals arrayから直接情報を取得できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top