php - 无法加载 Zend/Loader.php。试图找出原因?

标签 php zend-framework

我继承了一个每隔 3 或 4 天就会崩溃的客户端网站。它是使用我不了解的 zend-framework 构建的。

以下代码:

<?php
    // Make sure classes are in the include path.
   ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . 'lib' . PATH_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'classes');

    // Use autoload so include or require statements are not needed.
    require_once 'Zend/Loader.php';
    Zend_Loader::registerAutoload();

    // Run the application.
    App_Main::run('production');

导致以下错误:

[Tue Sep 02 12:58:45 2008] [error] [client 78.***.***.32] PHP Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /srv/www/vhosts/example.co.uk/httpdocs/bootstrap.php on line 6 
[Tue Sep 02 12:58:45 2008] [error] [client 78.***.***.32] PHP Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='.:.:/usr/share/php5:/usr/share/php5/PEAR') in /srv/www/vhosts/example.co.uk/httpdocs/bootstrap.php on line 6 

我什至不知道从哪里开始尝试解决这个问题。我的 PHP 知识水平为中级,但正如我所说,我没有使用 Zend 的经验。此外,联系原始开发人员也不是一种选择。

有趣的是,即使每次访问网站页面时都会运行代码,错误也只是偶尔发生。

我相信这一定与 include_path 有关,但我不确定。

最佳答案

首先,我认为您的包含路径可能应该有一个尾部斜杠。这是我的一个例子:

    set_include_path('../library/ZendFramework-1.5.2/library/:../application/classes/:../application/classes/excpetions/:../application/forms/'); 

您的引导文件将被另一个文件(可能是index.php 文件)包含。这意味着,如果您的包含路径是相对路径(就像我的那样)而不是绝对路径,那么如果包含 bootstrap.php 的文件发生更改,则查找 Loader.php 的路径也会发生变化。

例如,我的 Zend 应用程序中有两个 index.php 文件,一个用于前端,一个用于管理区域。这些索引文件每个都需要有自己的具有不同相对路径的 bootstrap.php,因为它们包含在不同的索引文件中,这意味着它们必须相对于原始请求的索引文件,而不是它们在其中定义的引导文件.

这可以解释为什么您的问题是间歇性的,可能还有另一个文件,其中包括仅偶尔使用的 Bootstrap 。我会在所有站点文件中搜索“bootstrap.php”,并查看包含/需要此文件的所有位置。

关于php - 无法加载 Zend/Loader.php。试图找出原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39364/

相关文章:

php - zend 查询的 where 子句有什么问题

php - ZendGdata框架路径设置错误

php - 在提交表单时,勾选会终止应用程序。但仅限于生产

javascript - 动态构建包含 html 的 ajax 调用的数据字符串

php - 计算smarty 3模板prestashop中两个日期之间的差异

zend-framework - 如何将 Zend Framework 网站转换为移动网站?

javascript - Zend 1.12 : Append javascript to bottom of view

php - 采埃孚 : http request from one controller to onther hangs

php搜索日期字符串

php - PHP文件上传错误(UPLOAD_ERR_PARTIAL)/$ _FILES为空或具有空的“tmp_name”