Я прочитал все остальные вопросы, касающиеся этого, но мой случай отличается.
У меня есть локальная файловая система NAS, которая монтируется на Linux (сервер Ubuntu 14.04).
Если я бегу file_exists()
с предварительным clearcachestat()
после некоторого перемещения файлов вручную результаты будут неправильными, пока я не перезапущу linux.
Перезапуск apache не работает, я должен сделать полный перезапуск.
У меня не установлены memcached или APC.
Есть идеи почему clearcachestat
не работает?
Где еще это может быть кэшировано?
Я думаю, что знаю, откуда возникла проблема: как сказано в моем вопросе, я делаю некоторые перемещения файлов вручную (через OSX). Я только что проверил, что произойдет, если я позволю PHP переместить файлы. Это работает, как ожидалось. Затем я попытался переместить файлы через FTP, который тоже работает, и file_exist возвращает значения правильно. Так что теперь я вернулся к своему «ручному перемещению файлов», которое я делал в OSX, перетаскивая файлы на тот же подключенный диск через Finder. И есть проблема: если я делаю копирование / вставку, а затем удаляю оригинальный файл из файловой системы, все в порядке. Но перетаскивание на OSX 10.10 это, очевидно, что-то другое, потому что тогда file_exist не работает. Я могу жить с этим прямо сейчас, просто избегая перетаскивания на этом диске. Но, конечно, это не решает проблему. Поскольку теперь я доказал, что это не имеет ничего общего с php или clearstatcache, этот ответ может быть закрыт. Я вновь открою новый вопрос об этом поведении перетаскивания в OSX. Спасибо Марк Б. за помощь …
Других решений пока нет …