У меня есть приложение, которое отлично работает на Windows и Mac, которое использует PHP5 Reflection API.
Я попытался развернуть приложение на Linux-машине (ящик CentOS, на котором работает PHP 5.3.6 -production server), только чтобы найти, что функция ReflectionMethod::getDocComment()
ничего не возвращает. Некоторое время я исследовал и обнаружил, что концы линий были потенциальным виновником.
Я использовал утилиту dos2unix
на своем сервере, чтобы изменить окончание строки до Unix-стиля, и скрипт работает. Теперь вот странная часть: она работает только один раз . Под этим я подразумеваю, что сценарий, который возвращает данные из ReflectionMethod::getDocComment()
работает один раз, а затем (без каких-либо изменений в файлах на диске или в коде) он возвращается обратно, чтобы не работать.
Любая помощь или совет будут очень признательны.
Вместо того, чтобы выворачивать его глобально, вы можете использовать php_flag
в своем .htaccess, например:
php_flag eaccelerator.enable 0 php_flag eaccelerator.optimizer 0
У меня была такая же проблема, и мне потребовалось некоторое время, чтобы выяснить (3 часа), потому что я не владею производственным сервером.