2014-11-12 2 views
0

Я прочитал все другие вопросы, касающиеся этого, но мой случай отличается.PHP: file_exists и clearcachestat дают неправильный результат до перезагрузки сервера

У меня есть локальная файловая система NAS, которая монтируется в Linux (сервер Ubuntu 14.04).

Если я запустил file_exists() с предшествующим clearcachestat() после некоторого ручного перемещения файлов, это приведет к неправильным результатам, пока я не перезапущу linux.

Перезапуск apache не работает, я должен выполнить полный перезапуск.

У меня нет memcached или APC.

Любые идеи, почему clearcachestat не работает?

Где еще можно кэшировать?

+2

Проверьте в командной строке. 'stat' там тоже работает. '$ stat/path/to/file/on/nas' и посмотреть, что происходит. если в командной строке также сообщаются неправильные результаты, тогда вы заводите - сама система не сообщает правильную информацию, и вы ничего не можете сделать в PHP, чтобы исправить это. –

+0

@Marc B: команда командной строки возвращает правильно, что файл не существует. PHP говорит, что он делает .... – gb5256

+1

, затем попробуйте запустить скрипт в режиме CLI в php. исключить apache из микса. –

ответ

0

Я думаю, что знаю, откуда эта проблема: Как уже говорилось в моем вопросе, я делаю некоторые ручные перемещения файлов (через OSX). Я только что проверил, что произойдет, если я позволю PHP перемещать файлы. Это работает так, как ожидалось. Затем я попытался перенести файлы через FTP, который тоже работает, и file_exist вернет значения правильно. Поэтому я теперь вернулся к своему «ручному перемещению файлов», который я сделал на OSX, перетащив файлы на один и тот же смонтированный диск через Finder. И есть проблема: если я делаю копию/вставку, а затем удаляю исходный файл из файловой системы, все в порядке. Но перетащить на OSX 10.10 это явно что-то другое, потому что тогда файл_exist не работает. Я могу жить с этим прямо сейчас, просто избегая перетаскивания на этом диске. Но, конечно, это не решает проблему. Как я уже доказал, это не имеет никакого отношения к php или clearstatcache, этот ответ можно закрыть. Я снова открою новый вопрос об этом перетаскивании на OSX. Спасибо Marc B за помощь ...

Смежные вопросы