2010-11-18 46 views
1

爲什麼我不能在我的項目中包含Zend框架?該文檔不清楚如何設置環境(或者沒有找到它的位置)。看着這個帖子:How to configure Zend Framework on linux machine?但沒有運氣。在phpinfo()我看到Zend配置,但爲什麼我不能使用它?看看有關如何將它添加到PEAR/PECL的文檔,沒有運氣。爲什麼我不能配置Zend框架

我沒有看到這個帖子:http://devzone.zend.com/article/4683,但仍然沒有工作

我曾嘗試:

選項1

require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php'); 
Zend_Loader_Autoloader::getInstance(); 

選項2

sudo vi /etc/php5/apache2/php.ini 

改變了這一行:

;include_path = ".:/usr/share/php" 

到:

include_path=".:/usr/share/php:/usr/share/pear:/usr/share/php/libzend-framework-php" 

重新啓動Apache的

收到此錯誤:

Warning: require_once(Zend/Loader.php): failed to open stream: No such file or directory in /usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php on 
line 24 

Call Stack: 
    0.0002  61600 1. {main}() /var/www/webservice/zend/server.zend.xmlrpc.php:0 
    0.0009  174412 2. require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php') /var/www/webservice/zend/server.zend.xmlrpc.php:2 


Fatal error: require_once(): Failed opening required 'Zend/Loader.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/php/libzend-framework-p 
hp/Zend/Loader/Autoloader.php on line 24 

Call Stack: 
    0.0002  61600 1. {main}() /var/www/webservice/zend/server.zend.xmlrpc.php:0 
    0.0009  174412 2. require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php') /var/www/webservice/zend/server.zend.xmlrpc.php:2 
+0

一個經常運行這個錯誤,並迅速解決它,請按照下列步驟操作:stackoverflow.com/a/36577021/2873507 – 2016-04-12 15:27:26

回答

1

我會建議

chmod 775 /usr/share/php/libzend-framework-php -R爲冉BarZik建議。 並仔細檢查apache用戶的權限。

然後使用這個符號鏈接它給你的應用程序庫:

ln -s /var/www/webservice/library/Zend /usr/share/php/libzend-framework-php/ 
+0

有趣的想法,我可能會嘗試這一點。謝謝 – 2010-11-19 14:17:33

+0

謝謝,這最終爲我工作最好。現在它只是試圖讓服務工作 – 2010-11-23 19:38:14

+0

很高興幫助! :) – tawfekov 2010-11-23 20:02:43

1

我,已經很多Linux系統上安裝的Zend FW,如果我遇到的問題是在包括設置不正確的路徑或權限問題。

也許路徑不正確,請嘗試「vi /usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php」或任何其他您喜歡的文本編輯器。它工作嗎? 也許是權限的問題,嘗試改變的/ usr /共享/ PHP/libzend框架的PHP/755:

chmod 775 /usr/share/php/libzend-framework-php -R 
+0

謝謝,我已經驗證的路徑和權限是775根它是正確的,以及:我的用戶所擁有。 – 2010-11-19 14:15:26

+0

現在有這種頻繁的錯誤這裏排查清單:stackoverflow.com/a/36577021/2873507 – 2016-04-12 15:27:49

0

根據錯誤消息,您更新的include_path沒有被拾取。

phpinfo()對include_path有什麼要說的嗎?

如果你在包括之前怎麼辦?

我在這裏假設/ usr/share/php/libzend-framework-php/Zend存在...

+0

是它存在,我將手動和測試設置路徑,感謝 – 2010-11-19 14:16:41

+0

有現在這裏這些頻繁的錯誤故障排除清單:stackoverflow.com/a/36577021/2873507 – 2016-04-12 15:28:00

0

嘗試移動Zend庫:

cd /usr/share/php/libzend-framework-php 
mv library/Zend /usr/share/php/ 

恢復include_path原始:

include_path = ".:/usr/share/php" 

重新啓動Apache

+0

我不知道這是有道理的,我做的,但它是我會銘記在心的一個選項,由於 – 2010-11-19 14:19:01

+0

現在有一個在這裏這種頻繁錯誤的故障排除清單:stackoverflow.com/a/36577021/2873507 – 2016-04-12 15:28:18

0

撞我的頭靠在牆上幾天後,我想我想通了。看看這個頁面:http://devzone.zend.com/article/4683我明白我需要在php.ini文件中添加zend路徑。我沒有做到這一點。看着我的PHP配置後,我在/etc/php5/conf.d/發現我可以通過取消註釋庫路徑在Zend-framework.ini文件,PHP負載作爲附加模塊加載的Zend/INI