我已成功在我的測試服務器上測試了我的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()
顯示它被設置爲本地值。
任何人都有同樣的經歷嗎?
看起來很明顯,但你確定'/ path/to/library'是正確的嗎? – Crisp 2013-03-26 17:37:31
路徑只是爲了便於閱讀。這在我的環境中是正確的。感謝您的幫助! – twigmac 2013-03-26 18:00:38
我知道這是爲了可讀性,init_autoloader未能包含$ zf2Path。 '/Zend/Loader/AutoloaderFactory.php';',它表明你給它的'$ zf2Path'是錯誤的,或者服務器可能沒有正確的權限來讀取它。如果您確定路徑正確,請檢查權限並撥打錯誤報告 – Crisp 2013-03-26 18:03:09