153 文字
1 分
PHPで2GB以上のファイルを扱う
2008-11-05

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空間を利用できるようになる。

例:

Terminal window
% CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ./configure...
PHPで2GB以上のファイルを扱う
https://blog.teraren.com/posts/phpで2gb以上のファイルを扱う/
作者
Yuki Matsukura
公開日
2008-11-05
ライセンス
CC BY-NC-SA 4.0

コメント