- ベストアンサー
PHPでバッチ処理(時間制御)をするには
よろしくお願いします。 PHP4でバッチ処理というか時間を自動で確認してメールを送信するPGを作りたいと思っています。 契約しているレンタルサーバ(Linux)でPHPを利用しています。Cronなどを利用せず、純粋にPHPのプログラムのみを利用してできる処理やノウハウをご存じないでしょうか?? どうぞ、ご教授お願い申し上げます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
PHPはHTTPリクエストに対して動作する仕組みで、HTTPによるキックが無いと動かない。これはcronを引き合いに出しているので分かっているのだろう。ではどうすれば良いか。 ひとつの(泥臭い)解は、じゃあ別のマシンでHTTPをキックするプログラムを作れば良いという事になる。 つまり、ある特定の(おそらく自作の)HTTPクライアントと協調して、必要なPHPの呼び出しはクライアントが行い、PHPはそれに応じた処理を行うという事になるな。もちろんこの場合、自前でチャレンジレスポンスを行うなど、そのプログラムから以外は絶対にキックされない仕組みを作りこむ必要がある。 残念ながら私にはこのくらいしか思いつかない。
その他の回答 (2)
cronがいやだというのであれば、atを使うというはどうでしょう(W それ以外だと、以下の力業しかないのでは? ・nowとsleepを使う ・はてなアンテナなどの更新チェックサイトを活用 いずれも迷惑ですね(w。やはり、atが筋ではないでしょうか。
お礼
ありがとうございます。 at!いいですね! 早速調べました。 ただ、レンタルサーバーですので、サーバーの機能を利用するわけにいかないんです。。。 でも、この機能を利用すれば、余裕でプログラムをキックできますね!
systemを使ってシェルをコールするのはどうでしょうか?
お礼
ありがとうございます。 >systemを使ってシェルをコールするのはどうでしょうか? そういう手もありますねー。 たとえば、毎日AM1:00に自動でPHPからメールを配信したい場合、どのように動作させればいいでしょうか? systemを使ってシェルをコールするための準備が必要になるかなぁ・・と考えてしまったのですが。・・。
お礼
ありがとうございます。なるほど、外部からのキックという方法がありますね。自前サーバだったらいくらでも動かせますからね。