Доктрина с проблемой eAccelerator на веб-сайте Zend Framework 2

Проблема, которую я получаю с веб-сайта bulid в Zend Framework2 с Doctrine 2 в качестве ORM. Он отлично работает на локальном сервере. Но он выдает ошибку при развертывании на производственном живом сервере. Ниже приведена ошибка

"Класс X не является действительным объектом или сопоставленным суперклассом"

Может ли кто-нибудь иметь какое-либо решение для этого.

1 ответ

Я рассказал об этом в своем блоге некоторое время назад. По сути, это происходит потому, что eAccelerator удаляет аннотации docblock как "оптимизацию". Проблема в том, что Doctrine использует эти аннотации для отображения ваших сущностей.

Есть два возможных решения:

  1. Не используйте eAccelerator. Доступны гораздо лучшие инструменты opcache, например, APC или PHP, встроенный в OPcache (PHP 5.5+).
  2. Отключите это поведение в eAccelerator. Вы можете сделать это, скомпилировав eAccelerator с --with-eaccelerator-doc-comment-inclusion Отметьте или используйте более новую версию eAccelerator, которая по умолчанию отключает это поведение.
Другие вопросы по тегам