【问题标题】:Zend Framework problem with autoloader自动加载器的 Zend Framework 问题
【发布时间】:2010-03-03 13:34:46
【问题描述】:

一切都在 index.php 中

/* Define site root */
defined('DOCUMENT_ROOT') ? null : define('DOCUMENT_ROOT',realpath(dirname(__FILE__)));
defined('SITE_ROOT') ? null : define('SITE_ROOT',realpath(dirname(DOCUMENT_ROOT.'../')));


// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', SITE_ROOT . '/application');


$includePath[] = '.';
$includePath[] = SITE_ROOT . '/library';
$includePath[] = get_include_path();
$includePath = implode(PATH_SEPARATOR,$includePath);
set_include_path($includePath);

require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();

 /* Adding action helpers path */
 Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH . '/controllers/helpers','Helper');

 $application->bootstrap()
    ->run();

在捆绑 ZF 助手的错误路径中出现这些错误以及更多错误,这是怎么回事?

/* 为表单及其元素设置装饰器路径和前缀 / $form->addElementPrefixPath('Form', SITE_ROOT . '/library/form/decorators', 'decorator'); // 前缀、路径、类型 / 设置额外的验证器 */ $form->addElementPrefixPath('Form', SITE_ROOT . '/library/form/validators', 'validate'); // 前缀、路径、类型

 [2] fopen(/var/www/vhosts/blabla.com/httpdocs/application/controllers/helpers/ViewRenderer.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/InArray.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/InArray.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/InArray.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/InArray.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 
  [2] fopen(/var/www/vhosts/blabla.com/httpdocs/library/form/validators/NotEmpty.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory 
  in file: /var/www/vhosts/blabla.com/httpdocs/library/Zend/Loader.php 
  on line: 165 

与 ZF 验证器捆绑在一起的位置:

例如库/Zend/Validate/InArray.php

那么自动加载器有什么问题呢?

【问题讨论】:

    标签: zend-framework path helpers


    【解决方案1】:

    defines 中删除realpath 并调试您定义的路径是否正确。

    这似乎是有线的:

    realpath(dirname(DOCUMENT_ROOT.'../'));
    

    不应该是:

    realpath(dirname(dirname(DOCUMENT_ROOT)')));
    

    或:

    realpath(dirname(('/../'.DOCUMENT_ROOT)'));
    

    另外,请仔细检查文件权限。

    【讨论】:

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