バットを実行しようとすると、このファイルでこの変数にアクセスしようとします:
$_SERVER['SERVER_NAME']
しかし、このインデックスは存在しません。実際、しようとすると、インデックスprint_r($_SERVER)
がありません 。SERVER_NAME
理由がありますか?この機能をバットで起動したからですか?この変数を取得するための他の解決策はありますか?
ありがとうございました !
変数はサーバー環境 (Apache または別の Web サーバーを介して PHP をホストしている)$_SERVER
でのみ使用できるため、コマンド ラインから起動する場合は使用できません。このオブジェクトのパラメーターは、HTTP ヘッダーによって入力されますが、この場合は存在しません。
が設定されていない$_SERVER
ときにオブジェクトを無視する場合は、別の方法で使用できますが、オペレーティング システムによって距離が異なる場合があります。SERVER_NAME
php_uname("n")
$server_name = (isset($_SERVER['SERVER_NAME']))? // check if SERVER_NAME is set
$_SERVER['SERVER_NAME'] : // if yes, use HTTP header value
php_uname("n"); // if no, use php_uname()
試す
echo %COMPUTERNAME%
代わりに、bat ファイルを使用して起動している場合。
この変数は、 Host HTTP ヘッダー フィールド$_SERVER['SERVER_NAME']
で HTTP クライアントによって提供されるサーバーの名前を保持します。HTTP を使用しないため、この変数は定義されていません。