$ _SERVER変数をPHPスクリプトにコマンドラインを介して渡すことは可能ですか?
特に、$ _ SERVER ['recipient']を手動で設定して、メールサーバーを設定せずに電子メールのパイピングをテストできるようにしています。
* nixの場合:
$ recipient="[email protected]" php script.php
<?php
print_r($_SERVER);
テスト:
$ recipient="[email protected]" php script.php | grep recipient
[recipient] => [email protected]
または、次のようにエクスポートするか、(OSに応じて)setenvを実行できます。
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
個人的には以下を使用しています。
例:my PHPコマンドラインでset$ _ SERVER ['recipient])と入力します。
OS Xの場合
次の行をファイル '〜/ .bash_profile'に追加します(存在しない場合は作成します)。
export recipient="[email protected]"
Ubuntu GNU/Linuxの場合
次の行をファイル '/ etc/environment'に追加します(作成します。存在しない場合は、 https:// help.ubuntu.com/community/EnvironmentVariables )
@ sberryの答えは正しいです。
...しかし、$_SERVER
配列の設定デフォルト値を探してこのページに来たので、コマンドラインからPHPを実行すると、ここに私のそれが誰かを助けることを願っています。
empty( $_SERVER['HTTP_Host'] ) && $_SERVER['HTTP_Host'] = 'localhost';
empty( $_SERVER['REQUEST_URI'] ) && $_SERVER['REQUEST_URI'] = '/';
empty( $_SERVER['DOCUMENT_ROOT'] ) && $_SERVER['DOCUMENT_ROOT'] = __DIR__;
print_r( $_SERVER );