PHPで2GB以上のファイルを扱う

このエントリーをはてなブックマークに追加
はてなブックマーク - PHPで2GB以上のファイルを扱う
LINEで送る
Pocket

x86のLinuxにてPHPを普通にコンパイルすると2GBまでのファイルしか扱えない!OSやファイルシステムが対応していても、だめ。普通にコンパイルするとファイルシステム周りは32bit空間(ファイルシステムだと約2GB分)しか扱えないらしい。

アプリケーションからログを出力してて、気づかないうちに2GBになったら、アプリケーションが途中で止まっちゃう。

ここに、対応策が書いてあった。
http://bugs.php.net/bug.php?id=36478

gccへ”-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64″というフラグをgccへ渡すと、ファイルシステム周りのライブラリは64bit空間を利用できるようになる。

例:

このエントリーをはてなブックマークに追加
はてなブックマーク - PHPで2GB以上のファイルを扱う
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す