0

我在全新安装 Zend 框架时遇到了“包含”路径问题。我正在运行 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”文件夹复制到我的项目/库文件夹中,因此文件夹结构为 /demoZend/library/Zend/

我还根据教程的建议更改了 php.ini 中的“包含”路径。但是,这是我感到困惑的地方。

路径写道:

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

我没有改变它,因为文件路径似乎没问题。我还应该指出,我的 Web 文档存储在我的 '~/public_html' 目录中,我已经检查了我的 'demoZend/library' 文件夹的权限,并且它们已关闭所有限制。

4

1 回答 1

0

听起来您正在关注 Zend Framework 1 的教程,但您已经下载了 Zend Framework Zend/Application.php2。ZF2 中没有,所以这就是 PHP 找不到该文件的原因。

您可以返回 ZF 下载页面并获取 ZF1 的最新版本(当前为 1.12.3),或者查找 ZF2 教程并改为学习 ZF2。如果您刚刚开始使用 ZF,我会选择后一种选择。

于 2013-08-12T17:25:03.193 回答