[PHP-users 4432] commandline args

Toshiyuki Kajii php-users@php.gr.jp
Sun, 23 Dec 2001 14:53:20 +0900


梶井です。

今までコマンドラインでは利用していなかったのですが、cronやメール
受信による自動実行等でPostgreSQLのデータに楽にさわる為に使ってみ
ようと思い少し試してみました。ところが、

(test.php)
#!/usr/bin/php -q
<?
echo $argv[0], "\n";
?>

これを実行すると、

# ./test.php
./test.php
#

となるはずが、

# ./test.php

#

となり"\n"しか出力されません。

http://www.php.net/manual/ja/language.variables.predefined.php
http://www.spencernetwork.org/memo/tips-6.php

これらのサイトを見ても、$argc,$argvは定義済み変数として常に利用
可能だと認識しています。

ちなみに、

echo $argc;

とやってもなにも出力されません。
設定等に問題があるのでしょうか、何か心当たりのある方いらっしゃ
いましたら、ご教授下さい。

環境は
linux kernel2.4.16
php4.1.0
です。

コマンドライン版はdso版をインストールした後にmake cleanしてから
再度configure,makeし、/usr/binにコピーしました。php.iniは/usr/
local/libにあり、php.ini-distからの変更点はregister_glocals=Off
とinclude_pathのみです。

蛇足になりますが、次のソースは問題なく動作します。

#!/usr/bin/php -q
<?
$hoge = "hoge";
echo $hoge, "\n";
?>


*---------------------------------------------------*
    Toshiyuki Kajii    梶井 俊幸
    e-mail:            mikoto@camino.nissan.ne.jp
*---------------------------------------------------*