現在携わっているのはlinux上で運用しているシステムであるが、構成がどうも複雑になっている。いざ動きがおかしいと、何が悪いのか追跡が難しい。必要箇所でログを埋めていくことで原因追求はかなりやりやすくなったが、まだまだである。
その中でも厄介だったのが、PHPでの出力ファイルサイズが2ギガ以上になると落ちる件だ。念のためであるが、2,000,000バイトではない。1,024×1,024×1,024×2 より 1 小さいサイズだ。
linuxにはファイルフォーマットがいくつかあるが、そのうち1ファイルが2ギガまでのものもあるらしい。原因はそれかとも思ったが、それではなかった。調べると、Cでも同様の事例があるらしく、その場合はヘッダファイルを変更する等で対応が可能らしい。PHPは読めるが、ほぼ素人なので間違ったことを書くかもしれないが、短絡的に「PHP=2ギガ以上のファイルを扱えない」という訳ではないようだ。PHP自体のコンパイルで対応できるのではないか?と思う。
が、そもそも、ファイルサイズが1日で2ギガを超えるほうがおかしい。中身を見ると、要らない情報のオンパレード。開いたときに見やすく、空白でレイアウトを調整していたり・・。そういうデバッグレベルのログを本番環境で運用している、という恐ろしい状況であった。
即刻、ログ出力抑制を依頼したのは言うまでもない。