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空間を利用できるようになる。
例:
% CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ./configure...
Comments