0

サイトで CSV を生成する機能に問題があります。エラー 500 が表示されます。Apache エラー ログを確認しても、この問題の記録はありません。コードを掘り下げた後、CSVファイルのデータが1550行を超えるとこのエラーが発生することがわかりました。

php.iniの設定が低すぎると思っていたのですmax_execution_timeが、600秒に増やしても1550行以上のCSVファイルが生成できません。

この問題を解決する方法はありますか? 実際に何が起こるか知っている人はいますか?

4

2 に答える 2

1

また、set_time_limitを調べてください。

考慮すべきことの 1 つは、一部のクラウド側ホスト プロバイダー (RackSpace など) がロード バランサーにタイムアウトを実装しているため、トラフィックがない場合に接続が終了することです ( Rackspace Connection Timed Out Errorを参照)。

そのための 1 つの可能な回避策は、データをエコーし​​てクライアントにフラッシュし、接続を開いたままにすることです。これは、任意の単純な HTML コメントにすることができます。

より推奨される解決策は、長いプロセスを CRON ジョブを介して実行されるスクリプトにオフロードすることです。PHP ジョブ デーモンの例はたくさんあります。ジョブ デーモンは必要ありません。小規模なソリューションの場合は、データベース テーブルを処理する単純な PHP スクリプトで十分です。

于 2012-06-12T02:20:52.473 に答える
0

ini_set('auto_detect_line_endings',TRUE); を追加してみてください。

また、csv ファイルをテストし、開いて再保存してみてください。

于 2012-05-10T08:05:11.317 に答える