当我尝试运行由Zend Framework创建的项目时,我得到了以下错误。它正在查找Zend/Application. php,该文件位于我的include_path目录中。我对该目录具有读取权限。
PHP致命错误:函数.require_once():在第24行打开/var/www/vhosts/www.example.com中所需的“Zend/应用程序. phpmoderncloud.net/om/library:.:/var/www/vhosts/moderncloud.net/ommoderncloud.net/om/public/index.php失败
<?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”的问题。我把它设置为none,它就开始工作了。或者,我想我可以把Zend库目录附加到我的web服务器配置中的open_basedir选项中,而不是把它设置为none。
3条答案
按热度按时间njthzxwz1#
您是否可以尝试替换:
与
希望对你有用
8ulbf1ek2#
如果可能的话,删除现有的zend框架安装并使用PEAR安装ZF。以后更新会更容易:
它还将使用PEAR的include_path,因此应该可以解决您的问题。
如果不能使用pear,请尝试使用包含路径的相对路径:
fsi0uk1n3#
产生此问题的原因:
1.在index.php文件的Public文件夹中。
或
1.在库文件夹内:-只需检查库文件夹中是否存在Zend文件夹。如果不存在Zend文件夹,则从Zend框架下载并保存在库文件夹中。
=〉在index.php中复制以下代码并替换它。