コマンドラインを介して$_SERVER変数をPHPスクリプトに渡すことは可能ですか?
具体的には、$ _ SERVER ['recipient']を手動で設定して、メールサーバーを設定せずにメールのパイプをテストできるようにしています。
コマンドラインを介して$_SERVER変数をPHPスクリプトに渡すことは可能ですか?
具体的には、$ _ SERVER ['recipient']を手動で設定して、メールサーバーを設定せずにメールのパイプをテストできるようにしています。
*nix の場合:
$ recipient="email@domain.com" php script.php
<?php
print_r($_SERVER);
テスト:
$ recipient="email@domain.com" php script.php | grep recipient
[recipient] => something@domain.com
または、次のようにエクスポートするか、setenv (OS によって異なります) を使用できます。
$ export recipient="email@domain.com"
$ setenv recipient="email@domain.com"
@sberryの答えは正しいです。
...しかし、配列のデフォルト値を設定するためにこのページに来たので、コマンドラインからPHPを実行するときに、ここに私自身の答えがあります。$_SERVER
それが誰かを助けることを願っています。
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 );
私は個人的に以下を使用します。
例: PHP コマンド ラインで$_SERVER['recipient]を設定します。
OS X の場合
次の行をファイル ' ~/.bash_profile ' に追加します (存在しない場合は作成します)。
export recipient="something@example.com"
Ubuntu GNU/Linux の場合
次の行をファイル「/etc/environment」に追加します (存在しない場合は作成します。https://help.ubuntu.com/community/EnvironmentVariablesを参照してください) 。
recipient=something@example.com
次の内容で、dummy.php というダミー ページを設定してみてはいかがでしょうか。
<?php
$_SERVER['recipient'] = 'me@gmail.com';
?>