[PHP-users 5346] Re: コマンドライン版実行時のオプションエラー

Masaki Fujimoto php-users@php.gr.jp
Mon, 11 Feb 2002 16:20:17 +0900


ふじもとです。

一応原因だけ(対策無しです)。

foo.php:
#!/usr/local/bin/php -q -d max_execution_time=0
<?php
/* some codes */
?>

というスクリプトを実行することは

% /usr/local/bin/php '-q -d max_execution_time=0' foo.php

と等価です(すくなくとも僕の知る限りのシェルでは。とはいってもそんなに知
りませんが)。

そうするとPHPには -q -d max_execution_time=0 が一つの引数として渡ります
から、引数を解析する sapi/cgi/getopt.c の ap_php_getoptという関数が -q 
の後のスペースをオプションの次のオプションだと思って

Error in argument 1, char 3: option not found

だのなんだのと言っている訳です。というわけで現状では-dを使うは厳しいかも
です。バグレポートを出すと何方かが対策を考えてくださるかも知れません(バ
グと仕様の微妙な境界にある問題なので)。


--
藤本 真樹

アストラザスタジオ
fujimoto@studio.co.jp
fujimoto@php.net