[PHP-users 15910]cron実行時のみのタイムアウト。

NIC avis_caerulea @ paw.hi-ho.ne.jp
2003年 6月 13日 (金) 07:42:51 JST


こんにちは、古屋と申します。
早速なのですが、cronで指定したPHPスクリプトの実行がタイムアウトしてしまっ
て悩んでいます。

具体的には以下のスクリプトをcronで定期的に実行させているだけです。

<?php
	set_time_limit(0);

	$time_check = time();
	$file = "./timeout.log";
	$fp = fopen($file,"w");
	fwrite($fp,"実行時刻 : ".date("Y/m/d H:i",time())."\n");

	for($i=0; $i<1000000; $i++) {
		echo $i."<br />\n";
	}

	fwrite($fp,$i."\n");
	fwrite($fp,time()-$time_check." 秒実行\n");
	fwrite($fp,"終了\n");
	fclose($fp);

?>

適当に1000000回程ループさせて、チェック用にファイルに書き出しているだけ
です。
このスクリプトはブラウザやコマンドプロンプトでの実行では問題なく最後まで
実行されて、ファイルにもしっかり痕跡が残るのですが…cronで実行された場合
はタイムアウトしているようでファイルへの出力もありません。
cronの設定は以下のような感じです。
$ crontab -e
0 * * * * * /usr/local/bin/php -q /home/hoge/public_html/timeout.php

このプログラムはブラウザやコマンドプロンプトでは約35秒程の処理でした。

また、設定ファイルでは以下のようです。
[php.ini]
max_execution_time 60
[httpd.conf]
timeout 300

ブラウザやコマンドプロンプト上ではうまくいくのに、どうしてcronでの実行時
だけはタイムアウトしてしまうのでしょうか?
どなたか何か心当たりのある方はご指導お願いします。

古屋。


PHP-users メーリングリストの案内