我在全新安装Zend框架时遇到了'include'路径问题。我正在运行Ubuntu并使用Netbeans。我通过终端安装了Zend,并将相应的文件复制到我的新项目中。
我正在尝试访问localhost / demoZend / public
时收到此信息Warning: require_once(Zend/Application.php): failed to open stream: No such file or directory in /home/mastered/public_html/demoZend/public/index.php on line 18
Fatal error: require_once(): Failed opening required 'Zend/Application.php' (include_path='/home/mastered/public_html/demoZend/library:.:/opt/lampp/lib/php') in /home/mastered/public_html/demoZend/public/index.php on line 18
我已将带有框架的'Zend'文件夹复制到我的project / library文件夹中,因此文件夹结构为/ demoZend / library / Zend /
我还从教程的建议中更改了我的php.ini中的'include'路径。然而,这是我困惑的地方。
路径显示:
include_path = ".:/usr/share/php:/usr/share/php/libzend-framework-php/"
在我的apache2 / php.ini 以及我的/etc/php5/cli/php.ini文件中。
我的项目中的index.php文件如下所示:
<?php
// 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(),
)));
/** 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();
我没有改变它,因为文件路径似乎没问题。 我还应该指出我将我的网络文档存储在我的'〜/ public_html'目录中,我已经检查了我的'demoZend / library'文件夹的权限,并且他们有所有限制 off 。
答案 0 :(得分:0)
听起来你正在关注Zend Framework 1的教程,但是你已经下载了Zend Framework 2.ZF2中没有Zend/Application.php
,所以这就是PHP找不到文件的原因。
您可以返回ZF下载页面并获取最新版本的ZF1(目前为1.12.3),或者查找ZF2教程并学习ZF2。如果您刚刚开始使用ZF,我会选择后者。