2014-01-30 77 views
1

我有一個在這樣的結構中有2個站點zf2加主義的家庭服務器:var/www/site1和var/www/site2我想我與名稱空間有衝突。在兩個項目(站點1)我收到的一個:zend框架2項目衝突

Fatal error: Cannot redeclare class Doctrine\Common\Annotations\Annotation\Target in /var/www/site2/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php on line 31 

我應該怎麼做才能不嘗試從其他項目中加載類? Tank u。

+0

我不認爲它與名稱空間有關。這應該是項目中的設置/自動加載/引導問題。看看你的classmaps,你的自動加載文件等。如果你複製/粘貼項目,你可能有任何配置文件或任何內部供應商/自動加載器,指向舊項目中的原則,還有一些其他線指向新學說 –

回答

3

所以有一段時間我找出去之後,是opcache從PHP,一旦我禁用所有zf2項目進展順利。我不知道如何調整與opcache啓用

+0

您可以禁用opcache對項目的基礎上的一個項目,通過在.htaccess文件使用 '的php_flag opcache.enable Off' 。而只是爲了確認,這確實是我的案例中的學說重新定義類錯誤的根本原因。 – Julian

0

此錯誤表示您包含類別Doctrine\Common\Annotations\Annotation\Target兩次。很難說如何才能做到這一點。

Zend Framework 2使用自動加載,所以這種類型的錯誤通常是不可能的。要安裝Doctrine,您需要使用Composer依賴關係管理器,併爲您創建所有自動加載配置。但是,如果您將Composer生成的代碼複製並粘貼到其他項目中,則可能會出現像您一樣的問題。

0

的問題是從hosts文件一個站點是爲127.0.0.1等來192.168.10.20我改變,一切都正常工作

+0

你能否給我們提供更多的細節。我也有同樣的問題! –

+0

看看我的新的答案,看看它是否RESOLV你的問題太多 – user3143015