大きなファイルを読み取る際の PHP ファイル サイズ制限への対処
PHP では、特に fopen を使用する場合、大きなファイルの読み取り時に問題が発生してイライラすることがあります。適度なサイズを超えるファイルを開くこと。 -D_FILE_OFFSET_BITS=64 フラグを指定して PHP を再コンパイルすると、ファイル サイズの制限が 20 GB を超える可能性があるのは事実ですが、6 MB 程度の小さなファイルの場合はその必要はありません。
大きなファイルを開くときに問題が発生した場合考慮すべき要素がいくつかあります:
タイムアウト設定:
スクリプトのタイムアウト設定を確認します。通常、デフォルト値は約 30 秒で、ファイルの読み取りにそれよりも時間がかかると、タイムアウト エラーが発生する可能性があります。
メモリ制限:
PHP には次のような制限もあります。大きなファイルを配列に読み取ろうとするときに超過する可能性があるメモリ制限。エラー ログでメモリ警告を監視することをお勧めします。
fgets による増分読み取り:
タイムアウトやメモリの問題が明らかでない場合は、fgets を使用した読み取りを検討してください。ファイルを 1 行ずつ処理し、各行を順番に処理します。この方法は、非常に大きなファイルの場合に特に効果的です。
パスの検証:
fopen がエラー メッセージなしで false を返す場合、$rawfile に指定されたパスは、スクリプトが実行されている場所に対して正しくありません。ファイル名の絶対パスを指定してみてください。
その他のヒント:
以上が大きなファイルを読み取るときに PHP ファイル サイズの制限を克服するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。