私は、毎晩 12 の異なる PHP ファイルを実行する必要があるプロジェクトに取り組んでいます。これらのファイルのうち 11 個は、それぞれ別の外部サイトからデータを取得し、目的のために XML ファイルに再フォーマットしています。12 番目のファイルは、11 個の XML ファイルをマスター XML ファイルに結合します。
私はもともとこれらを単一の PHP ファイルに結合していましたが、大きすぎてタイムアウトし続けました。それらは正常に動作し、そのまま分離されています。
私は GoDaddy 共有ホスティング プランを利用しており、これらのファイルを毎晩実行する cron ジョブの設定を開始しました。ただし、GoDaddy では、合計 10 個の cron ジョブに制限されています。
そのため、別の方法として、最初の 10 個のファイルの末尾にヘッダー リダイレクトを配置し (明らかに、最後のファイルにはリダイレクトは必要ありません)、次のファイルにリダイレクトして実行しました。これにより、11 個の cron ジョブが 1 個に統合されます。
// On to the next
header('Location: http://www.domain.com/secondFile.php');
当時、ヘッダーのリダイレクトはブラウザーでのみ機能し、cron ジョブでは機能しないことに気づきませんでした。302 Moved Temporarilyメッセージが表示されます。
他にどのようなオプションがありますか? cron ジョブで動作するリダイレクトはありますか?
提供された情報は大歓迎です。
Barmarの助けのおかげで、私は今それを動かしています。GoDaddy ホスティングで同じ問題を抱えている他の人のために、ここにフォーマットを投稿してください。
generatexml.sh
#!/bin/sh
/web/cgi-bin/php5 /home/content/u/s/e/username/html/firstFile.php
/web/cgi-bin/php5 /home/content/u/s/e/username/html/secondFile.php
/web/cgi-bin/php5 /home/content/u/s/e/username/html/thirdFile.php
等