致命的なエラー: 最大実行時間 30 秒を超えました 質問する

致命的なエラー: 最大実行時間 30 秒を超えました 質問する

オンライン ソースから JSON ファイルをダウンロードしていますが、ループを実行すると次のエラーが発生します。

致命的なエラー: C:\wamp\www\temp\fetch.php の 24 行目で最大実行時間の 30 秒を超えました

ベストアンサー1

コードを最適化する

コードを最適化し、エラーを探す必要があります。

たとえば、誤って無限ループを作成してしまう可能性があります。この場合、実行時間を長くしても役に立ちません。

または、受信したデータをデータベースに保存する場合は、トランザクションやマルチ挿入クエリの使用など、パフォーマンスを大幅に向上できる手法があります。

プロフィールコードを調べ、パフォーマンスのボトルネックを見つけて最適化します。

CLIとして実行

コードがすでに最適化されているが、どうしても時間がかかりすぎる場合は、Web ページの呼び出しではなく、コマンド ライン スクリプトとして実行することを検討してください。コマンド ラインから呼び出されると、PHP スクリプトは時間制限の影響を受けません。

たとえば、この JSON ダウンロードを cron ジョブとして構成したり、Web ページがほんの数秒で完了するジョブを作成するときに何らかのキューを実装したりすることができますが、バックグラウンド プロセスでは JSON のダウンロード、解析、および保存に時間がかかります。

制限時間を増やす

最後の手段として、以下のいずれかの方法で一時的に制限時間を延長することもできます。

ini_set('max_execution_time', '300'); //300 seconds = 5 minutes

または

set_time_limit(300);

おすすめ記事