ホームページ >バックエンド開発 >PHPチュートリアル >ファイルサイズ制限を超えたエラーを解決する方法_PHP チュートリアル
昨日、Yii フレームワークを使用して 100 万を超えるデータを DB にエクスポートし、正常に実行するための php スクリプトを作成しました。
しかし、490,000 番目の項目まで実行すると、スクリプトが終了し、「ファイル サイズの制限を超えました」というエラーが表示されたため、Google で調べたところ、特定のファイルのサイズがシステムの制限を超えていることがわかりました。著者の最初の反応は、ログ ファイルがいっぱいだったということでした。 ? ?すぐにログを確認したところ、わずか数十 K であることがわかりました。では、この「大きなファイル」はどこにあるのでしょうか?
分析を開始すると、これは Linux オペレーティング システムの異常な問題であり、フレームワークが鈍いため、以下のファイルのサイズを注意深く確認しました。設定されているすべてのログ パスはすべて小さいので、たとえそうであったとしても無視できます。Yii のデバッグがオフになっているときにも同じ問題が発生しました。
その後、気が変わってスクリプトを再実行すると、450,000 件のレコードが存在するときに、すべてのレコードが無効になっていることがわかりました。それはプロセスに関係していました。スクリプトプロセスの影響を受けるIOを表示することにしました。
1. まず、スクリプト プロセスの
疑わしいファイル data0/xdebug/cachegrind.out.
スクリプトの実行時に、システムがサポートできるファイルサイズを超えると、xdebug がスクリプト処理のログを書き込み、記録するようです。
OK、xdebug をオフにしてスクリプトを再実行すると、100 万件を超えるレコードが正常に実行され、完了しました。
追記: 私が使用しているサーバーは 32 ビット システムですが、32 ビット オペレーティング システムではバイナリであるため、保存できる最大データは 111111111111111111111111111111 です。
このため、他の視覚システムに反映される 10 進表記は 2147483647 になります。
http://www.bkjia.com/PHPjc/327621.html
」というエラーで終了します。