Как известно, возвращаемые значения file_exists()
, filesize()
и т. д. функции кэшируются PHP, что вызывает значительное раздражение у разработчиков. Я часто вижу и слышу советы типа «Вы должны разместить clearstatcache()
прежде чем ваш файл информации звонит «или» написать свой real_filesize()
и место clearstatcache()
на первой строке «. Я видел много кода, заполненного большим количеством clearstatcache()
звонки. Кроме того, невозможно очистить кэш для каждого файла, каждый раз необходимо очищать весь кэш.
Реальное программное обеспечение либо а) редко запрашивает информацию о файле, либо б) всегда нуждается в свежей информации. Если кому-то действительно нужно кэширование, он может легко реализовать его с небольшим количеством кода.
Таким образом, в настоящее время я вижу только обратную сторону этого кеширования. Я думаю, что кеширование файловых статов является одной из основных проблем в PHP, и оно также включено в PHP7. Вопрос к тому, кто знает: каковы преимущества кэширования файловой информации таким непригодным способом?
Задача ещё не решена.
Других решений пока нет …