为什么我不能配置Zend-framework

时间:2010-11-18 21:47:09

标签: php apache zend-framework configuration

关于为什么我不能将Zend-framework包含到我的项目中。文档不清楚如何设置环境(或者没有找到它的位置)。看着这个帖子:How to configure Zend Framework on linux machine?但没有运气。在phpinfo()中,我看到Zend已配置,但为什么我不能使用它?寻找有关如何将其添加到PEAR / PECL的文档,没有运气。

我确实看到了这篇文章: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

6 个答案:

答案 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加载