3

好的,所以我对 Zend 比较陌生。我创建了一个新的应用程序并开始构建基于指南的身份验证系统。但是,服务器正在排除内部服务器错误。

检查 PHP 错误日志后,我收到以下两个错误:

[Thu Jul 19 10:26:40 2012] [error] [client 80.194.255.4] PHP Warning: require_once(Zend/Application.php): failed to open stream: No such file or directory in /home/www-data/ zend.danielgroves.net/htdocs/public/index.php 第 18 行

[2012 年 7 月 19 日星期四 10:26:40] [错误] [客户端 80.194.255.4] PHP 致命错误:require_once():无法打开所需的“Zend/Application.php”(include_path='/home/www-data/zend .danielgroves.net/htdocs/library:.:/usr/share/php:/usr/share/pear') 在 /home/www-data/zend.danielgroves.net/htdocs/public/index.php 第 18 行

控制器:-

class Admin_AuthController extends Zend_Controller_Action 
{ 
    public function init() 
    { 
         /* Initialize action controller here */ 
    } 

    public function indexAction() 
    { 
        $form = new Application_Form_login(); 
        $request = $this->getRequest(); 
        if ($request->isPost()) { 
            if ($form->isValid($request->getPost())) {
           
            } 
        }
        $this->view->form = $form;
    }
}

关于这可能是什么原因的任何想法?正如我所说,我是 Zend 的新手,所以当涉及到这些错误时,我真的不知道从哪里开始,尤其是因为这是引用由 Zend CLI 工具创建的文件。

任何指针/建议等都会非常受欢迎。

担。

4

2 回答 2

5

您的应用程序需要能够访问 Zend Framework 类。通常,您会将它们放入library应用程序的文件夹中(Zend Tool 不会为您执行此操作)。因此,从您下载的 ZF 副本中,将library/Zend文件夹复制到您的library文件夹中。您应该最终得到它正在寻找的文件/home/www-data/zend.danielgroves.net/htdocs/library/Zend/Application.php,这将修复错误。

于 2012-07-19T11:04:58.407 回答
1

我有这个完全相同的问题。首先,我缺少对 Zend/Application.php 的引用。所以我找到了,并复制到库文件夹中,并将代码更改为指向库文件夹中的文件。然后在 Application.php 文件中对同一文件有另一个引用。我修好了。现在我有一系列其他错误,例如:致命错误:第 82 行的 C:\Development\PHPSites\testProjectIII\library\Application.php 中未找到 Class 'Zend_Loader_Autoloader'

所以我 REM 出第 82 行: $this->_autoloader = Zend_Loader_Autoloader::getInstance();

我得到这个错误:致命错误:第 388 行的 C:\Development\PHPSites\testProjectIII\library\Application.php 中找不到类'Zend_Config_Ini'

所以我 REM 去掉那一行: $config = new Zend_Config_Ini($file, $environment);

之后,我终于得到了这个错误:注意:未定义的变量:C:\Development\PHPSites\testProjectIII\library\Application.php 中的配置第 417 行致命错误:在非对象上调用成员函数 toArray() C:\Development\PHPSites\testProjectIII\library\Application.php 在第 417 行

现在 - 如果我明白我在这里看到的内容,那就是应用程序正在寻找包含未定义类的库。我所做的只是获取整个工作程序(这是从启动向导中取出的,没有任何更改),它在 Zend 安装的 Apache 服务器上运行。但是我把它带到了我的 IIS 服务器根目录所在的另一个文件夹,并且找不到这些库。

我一直试图隔离什么是什么,但没有任何效果。我的帖子正上方的答案正是我尝试过的。

于 2012-08-08T17:51:43.133 回答