2012-05-24 13 views
21

$ _SERVER変数をPHPスクリプトにコマンドライン経由で渡すことはできますか?

特に私は$ _SERVER ['recipient']を手動で設定しようとしていますので、メールサーバを設定せずにメールのパイピングをテストできます。

+0

非常に明確な質問ではありませんが、おそらくあなたが望むでしょう:php script.php command_line_arguments_go_here –

答えて

-5

どのようにこの内容でdummy.phpと呼ばれるダミーのページ設定について:* nixの上

<?php 
    $_SERVER['recipient'] = '[email protected]'; 
?> 
31

を:

$ recipient="[email protected]" php script.php 

<?php 

print_r($_SERVER); 

テスト:

$ recipient="[email protected]" php script.php | grep recipient 

[recipient] => [email protected] 

それとも、あなたができますエクスポートするか、setenv(お使いのOSに応じて)など、

$ export recipient="[email protected]" 
$ setenv recipient="[email protected]" 
+0

これはまた、 $ _SERVER ['HOST_NAME']などの組み込み変数を設定します。魅力的な作品! –

+1

DOCUMENT_ROOTでこれが動作しない理由はありますか?その周りに道がありますか? – eisaacson

+0

ここにWindowsの代替手段はありますか? – EyasSH

0

@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); 
0

私は個人的に以下を使用します。

例:私のPHPコマンドラインに$ _SERVER ['recipient]を設定してください。 OS Xと

UbuntuのGNU/Linuxで

関連する問題