在尝试用smarty和apache log4php连接到Zend时出现不清楚的错误



我正在使用带有log4php和smarty的zend框架,我在尝试运行zend的引导时遇到了以下问题。

这是我得到的错误:

PHP Warning: require_once(Smarty.php): failed to open stream: 
No such file or directory in /var/www/html/kb/vaserver/VaDaemon/config.php on line 37 pid    
6049
Fatal error: require_once(): Failed opening required 'Smarty.php'

我认为我的问题与下面提到的非常相似,但是这个错误已经解决并修复了,我看到的修复与James在那里写的相似。无论如何,这是不工作,你可以看到,所以我想知道我应该尝试什么。

下面是我的config.php代码:

/* **

date_default_timezone_set('Etc/UTC');
// The custom error handlers that ship with PHP Simple Daemon respect all PHP INI error settings.
ini_set('error_log', '/var/log/phpcli');
ini_set('display_errors', 0);
// Define a simple Auto Loader:
// Add the current application and the PHP Simple Daemon ./Core library to the existing include path
// Then set an __autoload function that uses Zend Framework naming conventions.
define("VA_BASE_PATH", dirname(__FILE__));              
set_include_path(implode(PATH_SEPARATOR, array(   
    realpath(VA_BASE_PATH . '/AbstractLayer/'), 
    realpath(VA_BASE_PATH), 
    realpath(VA_BASE_PATH . '/../'),
    realpath(VA_BASE_PATH . '/../Core'),
    get_include_path(),
)));
function vaDaemon_Autoloader($class_name)
{
    $class_name = str_replace('\', '/', $class_name);
    $class_name = str_replace('_', '/', $class_name);
    require_once "$class_name.php"; // **line 37 as mentioned above in error** 
}
spl_autoload_register('vaDaemon_Autoloader');
function pathify($class_name) {
    return str_replace("_", "/", $class_name) . ".php";
}

假设您使用Composer安装了ZF2,那么如果您同时安装log4php和Smarty,将使您的工作更轻松。更新您的composer.json并添加更新您现有的require部分,以添加其他两个库:

"require": {
    "apache/log4php": "2.3.0",
    "smarty/smarty": "3.1.19"
}

然后执行php composer.phar install。然后composer可以处理自动加载,你不需要做任何包含路径或spl_autoload_register()

相关内容

  • 没有找到相关文章

最新更新