2013-03-26 53 views
1

我已成功在我的測試服務器上測試了我的ZF2應用程序。當我發佈的應用程序到直播服務器,我得到了以下錯誤:加入這行來我的index.php後消失致命錯誤:在init_autoloader.php中找不到類'Zend Loader AutoloaderFactory'

Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable. 

此錯誤。

putenv("ZF2_PATH=/opt/zf2/library/"); 

但是現在我得到了AutoloaderFactory未找到的錯誤,這意味着PHP仍然沒有找到類。在線服務器是1und1(1and1,1 & 1)受管服務器。

uname -a產生Linux infongd8707 2.6.28.8-20120713a-iscsi-ntacker-3ware-sec8-fmon-igb-dif2-grseC#1 SMP Fri Jul 13 13:37:07 CEST 2012 i686 GNU/Linux

的解決方法,因爲在ZF2 installation instructions描述於事無補。

  • 我不允許在httpd.conf中設置環境路徑。
  • SetEnv.htaccess中的語句似乎被Apache的配置忽略。
  • 如上所述,設置ZF2_PATH與putenv確實有點幫助。
  • 包括與set_include_path庫路徑,嘗試絕對和相對,沒有幫助,雖然phpinfo()顯示它被設置爲本地值。

任何人都有同樣的經歷嗎?

+0

看起來很明顯,但你確定'/ path/to/library'是正確的嗎? – Crisp 2013-03-26 17:37:31

+0

路徑只是爲了便於閱讀。這在我的環境中是正確的。感謝您的幫助! – twigmac 2013-03-26 18:00:38

+1

我知道這是爲了可讀性,init_autoloader未能包含$ zf2Path。 '/Zend/Loader/AutoloaderFactory.php';',它表明你給它的'$ zf2Path'是錯誤的,或者服務器可能沒有正確的權限來讀取它。如果您確定路徑正確,請檢查權限並撥打錯誤報告 – Crisp 2013-03-26 18:03:09

回答

1

該解決方案對於1個客戶來說相當有趣。 It seems好像在他們的託管服務器unzip,我用來提取我的項目,是unzip -L的別名,強制所有提取的文件是小寫。由於我們的測試服務器和實時服務器在文件和目錄方面都是區分大小寫的,因此這種行爲導致很多目錄無法訪問。

相關問題