关于为什么我不能将Zend-framework包含到我的项目中。文档不清楚如何设置环境(或者没有找到它的位置)。看着这个帖子:How to configure Zend Framework on linux machine?但没有运气。在phpinfo()中,我看到Zend已配置,但为什么我不能使用它?寻找有关如何将其添加到PEAR / PECL的文档,没有运气。
我确实看到了这篇文章:http://devzone.zend.com/article/4683但仍无效
我尝试过:
require_once('/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
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 :(得分:1)
我已经在很多Linux系统上安装了Zend FW,如果我遇到问题,那就是在设置不正确的包含路径或权限问题上。
也许路径不对,请尝试'vi /usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php'或您喜欢的任何其他文本编辑器。它有用吗? 也许是权限问题,尝试更改/ usr / share / php / libzend-framework-php /到755:
chmod 775 /usr/share/php/libzend-framework-php -R
答案 1 :(得分:1)
我建议
chmod 775 /usr/share/php/libzend-framework-php -R
作为Ran BarZik的建议。
并仔细检查apache用户的权限。
然后使用以下代码将其符号链接到您的应用程序库:
ln -s /var/www/webservice/library/Zend /usr/share/php/libzend-framework-php/
答案 2 :(得分:0)
您的主要配置应该是:application / configs / application.ini
这告诉zend控制器在哪里查找库文件等。
你在安装时看到了吗? :http://framework.zend.com/manual/en/learning.quickstart.create-project.html
答案 3 :(得分:0)
根据错误消息,您的更新的include_path未被提取。
phpinfo()对你的include_path有什么看法?
如果您在加入之前set_include_path(get_include_path . ':/usr/share/php/libzend-framework-php');
怎么办?
我在这里假设/ usr / share / php / libzend-framework-php / Zend存在......
答案 4 :(得分:0)
尝试移动zend库:
cd /usr/share/php/libzend-framework-php
mv library/Zend /usr/share/php/
将include_path
还原为原始版本:
include_path = ".:/usr/share/php"
重启apache
答案 5 :(得分:0)
在我的头撞到墙上几天之后,我想我已经弄明白了。看看这个页面:http://devzone.zend.com/article/4683我知道我需要在php.ini文件中添加zend路径。我这样做没有效果。在查看了我在/etc/php5/conf.d/中注意到的PHP配置后,我可以通过取消注释zend-framework.ini文件中的库路径来加载zend,该文件将PHP作为附加模块/ ini加载