1

codeigniterという名前のphpフレームワークで開発するプロジェクトがあります。クライアント用に 30,0000 pdf の db レコードを作成するスクリプト ファイルが含まれています。問題は、コードをチャンクで実行する必要があることです。エラーが発生するため、サーバーのタイムアウトやメモリの同期が取れないことがあるため、php.iniを変更してすべてのエラーを修正しましたが、無駄でした。7000オフセットの制限を使用して、PDFをチャンクで作成する必要があるためです。Limit offset を大きくすると、実行に失敗してエラーが発生します。30,0000 レコードまで座って、それらに pdf を生成するのは非常に困難です。1 つのチャンク内で実行したいだけです。解決策を教えてください。ほんとうに必要だ。前もって感謝します。

4

1 に答える 1

1

これには別のシェルスクリプトを使用することをお勧めします。または、PHPスクリプトを使用する場合は、シェルスクリプトを使用する場合と同じように使用してください。スクリプトを「ファイアアンドフォーゲット」するだけで、他に影響を与えたり、Webアプリケーションからリソースを消費したりすることなく、バックグラウンドで実行されます。それは次のようになります:

shell_exec('yourscript.sh > /dev/null 2>/dev/null &');

またはphpスクリプトを使用

shell_exec('php yourscript.php > /dev/null 2>/dev/null &');

上記では、stdoutとstderrの両方をnullにリダイレクトしていることに注意してください。それらを望まない場合は、むしろそれらを別の場所にリダイレクトすることをお勧めします。

于 2012-07-14T06:42:19.390 に答える