2017 11,13 16:46 |
|
とあるプログラムの調査を依頼され、調べていたのですが、初めて知りました。
ファイルステータスを取得するのに、PHPがキャッシュを使っていること。
clearstatcache — ファイルのステータスのキャッシュをクリアする
http://php.net/clearstatcache
影響を受ける関数を以下に示します。
stat(), lstat(), file_exists(), is_writable(), is_readable(), is_executable(),
is_file(), is_dir(), is_link(), filectime(), fileatime(), filemtime(), fileinode(),
filegroup(), fileowner(), filesize(), filetype(), および fileperms().
これにより、filesize()とかコールしても、キャッシュファイルのサイズを戻すことがあり、
正しい処理ができない可能性も
負荷をかけ、ログファイルに沢山書き込むようにテストをしたとろこ、 ログファイルのサイズが、上限を設けているにも関わらず、 上限サイズを超えて、まちまちに。。。 filesize()が現在のファイルの情報を正しく取得していないという証拠なのでしょう。 PR |
|
コメント |
コメント投稿 |
|
忍者ブログ [PR] |