【问题标题】:Autoloader zend自动加载器zend
【发布时间】:2014-03-22 10:45:53
【问题描述】:

require_once 'Zend/Library/Autoloader.php' 的问题

PHP Warning:  require_once(Zend/Loader/Autoloader.php): failed to open stream: No such file or directory in /var/www/DenisApp/scripts/load.sqlite.php on line 13

PHP Fatal error:  require_once(): Failed opening required 'Zend/Loader/Autoloader.php' (include_path='/var/www/DenisApp/application/../library:.:/usr/share/php:/usr/share/pear') in /var/www/DenisApp/scripts/load.sqlite.php on line 13

我不知道该怎么办!请帮忙...

【问题讨论】:

  • Zend 文件夹在哪里?在/var/www/DenisApp/application/../library ?
  • 我不知道我找不到它!
  • 如果找不到,你怎么指望PHP可以。您应该通过将其添加到 include_path (php.net/set_include_path) 来告诉他它在哪里。这是您在该服务器上的第一个 Zend 项目,还是有更多?
  • 这个问题解决了吗。我相信我曾经遇到过这个问题。我认为这可能是您在配置加载器数组中使用的 SQLite 路径。尝试使用完整路径以查看错误是否消失。然后开始使用相对路径是调试路径或 SQLite 模块加载问题的更好方法,我相信这实际上是您的堆栈跟踪之一。

标签: php zend-framework autoloader


【解决方案1】:
  1. 下载您的load.sqlite.php 期望的正确 Zend 版本(找不到太多关于它的信息,但它看起来像 1.x 范围):http://framework.zend.com
  2. 将 Zend 文件夹(位于 Zend 下载中的文件夹 library 中)放入 /var/www/DenisApp/application/../library
  3. 点击F5

【讨论】:

    【解决方案2】:
    • 下载最新的框架(其实是'Zend Framework 2.3.1 Full'):

      http://framework.zend.com/downloads/latest

    • 将其解压缩到应用程序附近的文件夹中。即:/home/app/public_html/

    • 然后在你的php代码中准备好路径:

    set_include_path('/home/app/public_html/ZendFramework-2.3.1/library');

    • 所以你可以使用 Autoload 类来初始化框架:

    $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));

    $loader->register();

    • 所以你可以调用你需要的类。示例:

    $mail = new Zend\Mail\Storage\Maildir(array('dirname' => "/path/to/maildir"));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2012-09-07
      相关资源
      最近更新 更多