[PHP-users 4160] Re: cron でphpを動かす
Youichi Iwakiri
php-users@php.gr.jp
Wed, 05 Dec 2001 21:26:27 +0900
tsuyoshi takahashi wrote in <20011205201412.578D.MLTUN@ml.vip.co.jp>:
>私もcronでDBの更新等を行っていますが
>CGI版にもタイムアウトがあることを今回はじめて知りました。
>しかし過去にcronで実行させたものに527秒かかっているものがありました
>set_time_limit を設定しないとこの先まずいでしょうか?
>また処理の内容がちょっと動的なので時間の予測ができない時は
>どのように設定するべきなんでしょうか?
いや、ですから先のメールに書いてあるように
コマンドライン版のphpのオプションとして
-d max_execution_time=-1
を与えることで、php.ini内で宣言されている
max_execution_time=30
を置きかえることが出来ます。
時間が見積もれない処理を行う場合はset_time_limit()で
途中で打ちきられると困るので上記のようにしています。
また、毎回オプションを与えるのが嫌なら
php.iniを直接書きかえることになりますが
Apache DSO版と同じ物を参照していると拙いので
[PHP-users 4150] Re: cron でphpを動かす
のメールで黒木さんが書かれている様に
php.iniを標準的なインストール先である
/usr/local/lib/php.ini
とは別に
/usr/local/lib/php/cmd_line/php.ini
といったところにコマンドライン版用のphp.iniを
用意しておいて
% php -c /usr/local/lib/php/cmd_line/php.ini hoge.php
と実行すればよいと思います。
結局はどっちもオプションの指定をしないといけないので
面倒かもしれません。
で、私の場合は、Apache DSO版もコマンドライン版も基本的に
同一環境で利用したいphp.iniのメンテナンスが2箇所に及ぶ等の
煩雑性を嫌って-d max_execution_time=-1というオプションを
与える方法をとっています。