phpをコマンドラインから実行して、パラメータを受け取る方法を教えて下さい。


私の環境では、phpに対してパラメータを渡せる場合と渡せない場合があるようです。具体的には、CentOS4だと、コマンドラインからパラメータを渡せますが、FedoraCore6だと同じphpで同じファイルをたたいているのに、無理です。。

=== test.php ===

<?php
if(isset($_GET["hoge1"]) && isset($_GET["hoge2"])){
echo $_GET["hoge1"];
echo $_GET["hoge2"];
}else{
echo "ng";
}
?>

=== 実行パターン ===

------------------
・php4.3.9/CentOS4
------------------

[hoge@localhost]php ./test.php hoge1=hatena hoge2=search
hatenasearch

------------------
・php5.1.6/FedoraCore6
------------------

[hoge@localhost]php ./test.php hoge1=hatena hoge2=search
ng

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/05/11 21:17:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Leclerc No.1

回答回数86ベストアンサー獲得回数6

ポイント60pt

$_GETは、HTTP GET メソッドで現在のスクリプトに渡された変数の連想配列であって、与えた引数とは限りません。

必ずコマンドラインで叩くのであれば、C同様argc,argvを使います。

http://jp.php.net/manual/ja/features.commandline.php

id:logihot

ブラウザ経由でもたたきたかったりするので、GETでパラメータを取得したいと思っていましたが、やっぱり$_SERVER[argv]とかで取得するのが普通ですよね。ありがとうございます。

2008/05/11 21:17:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません