0

Doctrine 2 を ORM として使用する zend Framework2 のウェブサイト bulid で発生している問題。ローカル サーバーでは完璧に動作します。

「クラス X は有効なエンティティまたはマップされたスーパー クラスではありません」

誰でもそれに対する解決策を見つけることができますか。

4

1 に答える 1

1

少し前のブログ投稿でこれを取り上げました。基本的に、これは eAccelerator が "最適化" として docblock 注釈を取り除いているために発生しています。問題は、Doctrine がこれらのアノテーションに依存してエンティティをマッピングしていることです。

考えられる解決策は 2 つあります。

  1. eAccelerator を使用しないでください。APCや PHP の組み込みOPcache (PHP 5.5+)など、より優れた opcache ツールが利用可能です。
  2. eAccelerator でこの動作を無効にします。--with-eaccelerator-doc-comment-inclusionこれを行うには、フラグを指定して eAccelerator をコンパイルする、デフォルトでこの動作を無効にする新しいバージョンの eAccelerator を使用します。
于 2014-03-27T13:58:43.393 に答える