获取" require_once(Zend / Loader / Autoloader.php):无法打开流:没有这样的文件或目录"

时间:2014-06-29 10:00:16

标签: php zend-framework

我正在使用NetBeans IDE 8.我在Netbeans中正确配置了zendframework 1.12.1 但是Zend库文件Autoload.php无法加载。我收到这个错误:

  

require_once(Zend / Loader / Autoloader.php):无法打开流:第62行的C:\ wamp \ www \ RentAFlat-Zend \ public \ index.php中没有此类文件或目录

这是我的index.php

ini_set("display_errors", E_ALL);

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

require_once('Zend/Loader/Autoloader.php');
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);

$application->bootstrap()
            ->run();

1 个答案:

答案 0 :(得分:1)

Zend / Loader / Autoloader.php< - 您需要找出该文件与index.php相关的位置

Zend正在构建并为您创建一个包含路径(这是PHP查找类的后备文件夹,指定的本地路径并不包含您尝试要求的文件)。然后进行设置,这样每次需要从zend库中获取文件时,都不必使用完整路径。然而,这是一种旧的做事方式,因为命名空间与自动加载器相结合现在几乎是事实。例如Zend 2.0 +

我建议你的下一个停靠点是:

调试以下内容并回显各行以确保它指向包含文件夹' library' zend文件应该存在的地方。其次,在你粘贴的那个片段的底部。有1个逗号太多了。我把它放在方括号中供您删除

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path()[,]
)));

然后我会回显get_include_path(),以确保该字符串是'库的绝对路径。夹。如果它不在那里,或者路径错误,你知道它没有正确设置包含路径。修复它,然后应该正确地要求文件

HTH