プロが教えるわが家の防犯対策術!

PHPのプログラムのみで5分に1回くらいサーバーにアクセスしメールチェックしたい。
現状サーバーにアクセスしメールチェックするとこまで完成してるのですが、定期的にアクセスする方法で苦戦してます。
条件的には
(1)PCは切りたい
(2)cronは使用できません
(3)cgi等も使用できません

PHP無限ループ+タイマーで自動実行風にできるでしょうか?
詳しい方、ご回答よろしくおねがします。

A 回答 (3件)

(1)PCは切りたい


(2)cronは使用できません

このどちらかが可能なら可能なんですが。。
専用サーバーとか自前のサーバーならPHPを好きなように実行できますが、
(というかそれならcronが使用できますよね。)
それ以外の場合はなんらかのアクセスがなきゃ実行されません。

>PHP無限ループ+タイマーで自動実行風にできるでしょうか?

無限ループでバッファ関数を使っても5分はきついでしょう。
それでもアクセスしなければ実行されないうえに、
大体のサーバーが30秒ぐらいでPHPの処理制限がありますから、それ以上実行できません。


一般的にこういった処理は普通cronを使います。
    • good
    • 0
この回答へのお礼

やっぱサーバーにはそういった制限がかかっているのですね(^_^;)
おっしゃるとおりcronが使えればいいのですが・・

お礼日時:2010/11/22 09:23

コマンドラインでphpを使ったらどうでしょう。



例えば、loop.phpファイルを作り内容は以下のような感じにします。
#!/usr/bin/php -q
<?php
while(){
やりたい処理;
sleep(3600);
}
?>

それをLinuxサーバーのコマンドラインで
php loop.php
で実行。

始めてしまったプロセスを止めるにはLinuxのkillコマンドで。

自分ではやったことないので、やるなら自己責任で。
参考URLもよく見てね。

参考URL:http://www.ibm.com/developerworks/jp/opensource/ …
    • good
    • 0
この回答へのお礼

OSがFreeBSDでなのでできるかどうかわからないのですが、調べてみます。
ありがとうございました。

お礼日時:2010/11/22 11:32

質問の意図がイマイチ不明瞭です。


PHPプログラムは何で実行する予定ですか。
ローカルPCで、デーモン的に使いたいということなのでしょうか。
レンタルサーバのような自分の自由に構成がきかないものの上で行いたいということでしょうか。
    • good
    • 0
この回答へのお礼

回答遅くなってしまい、すいません。
無限ループなので、一回phpスクリプトにアクセスしたら定期的にずっと実行するようなことを考えていたのですが。
難しいみたいですね・・・

お礼日時:2010/11/22 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!