1

私は、毎晩 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

4

2 に答える 2

1

ウェブサーバー経由でスクリプトを実行し、wget.

于 2013-05-23T17:04:45.770 に答える
1

シェル スクリプトを含む 1 つの cron ジョブを実行して、各 PHP スクリプトを実行します。

#!/bin/sh
php firstFile.php
php secondFile.php
...
于 2013-05-23T17:07:25.163 に答える