Zend Framework错误:无法打开所需的'Zend / Application.php'

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (105)

当我尝试运行Zend Framework创建的项目时,我收到以下错误。它寻找Zend / Application.php,并且可以在我的include_path中的目录中找到它。我对该目录有读权限。

PHP致命错误:require_once()[function.require]:无法打开所需的'Zend / Application.php'(include_path ='/ var / www / vhosts / moderncloud.net / om / library:。:/ var / www / vhosts第24行的/var/www/vhosts/moderncloud.net/om/public/index.php中的/moderncloud.net/om / library:')

<?php


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

defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', 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(
    ('/var/www/vhosts/moderncloud.net/om/library'),
    get_include_path(),
)));


/** 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();

解:

我今天自己找到了。在我的httpd配置中选项“php_admin_value open_basedir”存在问题。我把它设置为无,它开始工作。或者,我想我可以将Zend库目录附加到我的Web服务器配置中的open_basedir选项,而不是将其设置为none。

提问于
用户回答回答于

如果可能,删除现有的zend框架安装并使用PEAR安装ZF。稍后更新会更容易:

 pear channel-discover zend.googlecode.com/svn
 pear install zend/zend

它还将使用PEAR的include_path,因此它应该可以解决您的问题。

如果您不能使用pear,请尝试使用包含路径的相对路径:

 // Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));
用户回答回答于

你能尝试更换:

set_include_path(implode(PATH_SEPARATOR,array(
    ( '/var/www/vhosts/moderncloud.net/om/library'),
    get_include_path()
)));

$ siteRootDir = dirname($ _ SERVER ['DOCUMENT_ROOT']);

通过set_include_path(
    $ siteRootDir。'/图书馆' 。PATH_SEPARATOR
    。$ siteRootDir。'/ application'。PATH_SEPARATOR
    。get_include_path()
);

希望对你有帮助

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答
  • 富有想象力的人

    3 粉丝0 提问6 回答

扫码关注云+社区

领取腾讯云代金券