Загруженный PHP-скрипт не обновляется


Я уверен, что это что-то очевидное, но я довольно сильно застрял здесь. У меня есть сервер LAMP (Centos 5.3, PHP 5.3.8), который работает без проблем. Я изменил и повторно загрузил (через SFTP) определенный PHP-скрипт на сервер, но когда я перезагрузил страницу, старый скрипт все еще работает. Я вижу, что новый файл есть и что метка времени и размер соответствуют новой версии, но он всегда выводится так, как если бы файл не изменился. Я даже попытался заменить его простым

<?php die('test'); ?> 

Тест файл, тот же результат. Это не проблема с кэшем браузера (перезагрузка, разные браузеры и т. Д. Все показывают старый скрипт, и я могу передать переменные $_GET, И он запускается как старый скрипт). Если я переименую файл, он будет отображаться правильно (с новыми изменениями) под новым именем, и система правильно выдаст ошибку 404 в исходном местоположении. Когда я возвращаю его к исходному имени файла, он возвращается к рендерингу как старая версия. Я решил, что это проблема с электронным ускорителем (работает под управлением 0.9.6.1), поэтому я очистил кэш (очищен /var/cache/php-eaccelerator) и перезапустил сервер, но без костей.

Есть ли что-нибудь еще, что может привести к тому, что сервер кэширует старый скрипт?

РЕДАКТИРОВАТЬ - РЕШЕНИЕ!

Хорошо, неудивительно, что это оказалось проблемой, связанной с конкретным приложением, которую я должен был решить раньше. Приложение было настроено с системой "настраиваемого переопределения", которая вызывала проблему... в основном для упрощения обновления, но также для настройки клиентами, система была настройте специальную папку /custom/, которая клонирует структуру папок базового приложения. Перед подачей Apache, по-видимому, проверяет наличие идентично расположенного файла в пользовательской структуре и обслуживает его вместо этого, если он существует. В основном в соответствующий каталог был загружен пользовательский скрипт, который переопределял любой файл, загруженный мной в основной каталог приложения. Очевидно, в пользовательский каталог был загружен переопределяющий скрипт.

@Дагон, спасибо за предложение чтобы отключить eAccelerator. Я был настолько убежден, что это было источником моей проблемы, что не потрудился проверить .htaccess. Как только я исключил это, я начал мыслить более ясно.

Author: Ben D, 2012-09-19

1 answers

В итоге это оказалось локализованной проблемой. Как я уже упоминал в правках к вопросу, приложение было настроено с системой "пользовательское переопределение", которая вызывала проблему... в основном для упрощения обновления, но также для настройки клиентами, система была настроена со специальной /пользовательской/папкой, которая клонирует структуру папок базового приложения. Перед подачей Apache, по-видимому, проверяет наличие идентично расположенного файла в пользовательской структуре и обслуживает его вместо этого, если он существует. В основном в соответствующий каталог был загружен пользовательский скрипт, который переопределял любой файл, загруженный мной в основной каталог приложения. Очевидно, в пользовательский каталог был загружен переопределяющий скрипт.

 2
Author: Ben D, 2012-09-19 06:37:34