【问题标题】:Why can't I configure Zend-framework为什么我不能配置 Zend-framework
【发布时间】:2011-05-12 07:39:09
【问题描述】:

苦恼于为什么我不能将 Zend 框架包含到我的项目中。文档不清楚如何设置环境(或者没有找到它在哪里)。看了这个帖子: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

【问题讨论】:

  • 经常遇到这个错误,要快速排除故障,请按照以下步骤操作:stackoverflow.com/a/36577021/2873507

标签: php apache zend-framework configuration


【解决方案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

【讨论】:

  • 谢谢,我已经验证了路径并且它是正确的,并且权限是 775,root:my user 作为所有者。
  • 现在有一个针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案2】:

你的主要配置应该在:application/configs/application.ini

这告诉 zend 控制器在哪里寻找库文件等。

您在安装时看过这里吗? :http://framework.zend.com/manual/en/learning.quickstart.create-project.html

【讨论】:

  • 感谢您的参考,我会调查一下
【解决方案3】:

根据错误消息,您更新的 include_path 没有被拾取。

phpinfo() 对你的 include_path 有什么看法?

如果您在包含之前set_include_path(get_include_path . ':/usr/share/php/libzend-framework-php'); 怎么办?

我在这里假设 /usr/share/php/libzend-framework-php/Zend 存在...

【讨论】:

  • 现在有一个针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案4】:

尝试移动zend库:

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

include_path 还原为原始:

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

重启apache

【讨论】:

  • 我不知道这对我来说是否有意义,但我会记住这是一个选项,谢谢
  • 现在有一个针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案5】:

我建议

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/

【讨论】:

  • 有趣的想法,我可以试试这个。谢谢
  • 谢谢,这对我来说效果最好。现在它只是试图让服务正常工作
  • 现在有一个针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案6】:

在我的头撞墙几天后,我想我明白了。查看此页面:http://devzone.zend.com/article/4683 我知道我需要在 php.ini 文件中添加 zend 路径。我这样做没有任何效果。查看我在 /etc/php5/conf.d/ 中注意到的 PHP 配置后,我可以通过取消注释 zend-framework.ini 文件中的库路径来加载 zend,PHP 作为附加模块/ini 加载该文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多