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

Naofumi Kondoh php-users@php.gr.jp
Sat, 16 Feb 2002 11:20:29 +0900


ソフト工房の近藤です。

私は shell script を書いて、その中から PHP
コマンドライン版を呼出すスタイルが多いので
こういう問題があるとは知りませんでした。
勉強になりました。感謝。

Youichi Iwakiri wrote:
> 
> いわきりです

....snip....

> % /usr/local/bin/php -q -d max_execution_time=0 foo.php
> は問題無しと思いますので一時しのぎとしては
> 
> 変更前
> foo.php:
> #!/usr/local/bin/php -q -d max_execution_time=0
> <?php
>  // sample code
> ?>
> 
> 変更後(二つに分ける)
> foo.prog:
> #!/usr/bin/sh
> /usr/local/bin/php -q -d max_execution_time=0 foo.php
> 
> foo.php:
> <?php
>  // sample code
> ?>
> 
> cronで呼び出すのはfoo.progってことでどうでしょうか?

...snip....

> #PHP利用者でコマンドライン版を使ってる人は少ないとは思っていましたが
> #オプション指定での起動をスクリプトから行おうとする人は
> #本家含め10人もいなかったりして

コマンドライン版て、使用者少いんですか。驚き。
こんなに便利なのに!。

PHP のおかげで、DB 関連の夜間バッチなどがものすごく
楽になって大感謝なんですが、以外と利用者少いのかな。

バッチ処理は、複雑な SQL を書いたり、 C でプログラ
ムしたりして工数がかかっていたのですが、PHP コマンド
ライン版を使うようになって工数が 1/3 位になったよう
な感じです。

難点を言えば、PHP の parse error が、HTML で出力さ
れる点位ですね。私は、#!/usr/local/bin/php はつけず
に、DSO 版として動かしてデバッグ。完了したら、その
まま shell scrip から、
/usr/local/bin/php -q  hoge.php
で動かすスタイルです。

shell script から PHP コマンドライン版実行する時の
もう1つの難点は、exit 値を shell に返せないことです。

私は、/tmp/.EXIT.STT.$$ というようなファイルに PHP
から exit  コードを書き込んで shell に受け渡すとか
様々な方法をとっています。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp 
PostgreSQL+PHP ソースコードジェネレーター セミナースライド
          http://www.shonan.ne.jp/~nkon/cslpg.a.semi/
          http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/