关于log4php中cannot load log4php.properties 的问题

我在本地调试环境中引入了log4gphp,在本地可正常使用它来记录信息,但是一旦上传到服务器却怎么都调试不了,一直在提示:

LoggerPropertyConfigurator::doConfigure() cannot load log4php.properties configuration.如下:


找到提示这个错误的文件:log4php目录下的LoggerPropertyConfigurator.php,第319行($url的值就是:log4php.properties):

 function doConfigure($url, &$repository)
    {
        $properties = @parse_ini_file($url);
        if ($properties === false) {
            LoggerLog::warn("LoggerPropertyConfigurator::doConfigure() cannot load '$url' configuration.");
            return false;
        }
        return $this->doConfigureProperties($properties, $repository);
    }

从这里可以看出应该是parse_ini_file函数没有正常执行,一般来说我们的log4php.properties文件内容基本上就是这样:每个赋值都是没有引号括起来的,


  1. log4php.rootLogger=DEBUG, A1  
  2. log4php.appender.A1=LoggerAppenderRollingFile  
  3. log4php.appender.A1.file=webdisk.log  
  4. log4php.appender.A1.layout=LoggerLayoutTTCC  
  5. log4php.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd   HH:mm:ss}   [%t]   %C{1}:%M   %p   %m%n  
  6. log4php.appender.A1.MaxFileSize=1024  
  7. log4php.appender.A1.MaxBackupIndex=3

 

网上查了下大概是这样:

问题来由:
我本地的开发环境中PHP的版本为5.3.13,而服务器的产品环境中PHP的版本为5.2.12.
在php.ini文件中,
所有的的变量赋值采用双引号引用
处理方式:
将log4php.properties文件中对变量赋值的单引号引用改为双引号引用,改为:

  1. log4php.rootLogger="DEBUG, A1"
  2. log4php.appender.A1="LoggerAppenderRollingFile"
  3. log4php.appender.A1.file="webdisk.log"
  4. log4php.appender.A1.layout="LoggerLayoutTTCC"
  5. log4php.appender.A1.layout.ConversionPattern="%d{yyyy-MM-dd   HH:mm:ss}   [%t]   %C{1}:%M   %p   %m%n"
  6. log4php.appender.A1.MaxFileSize="1024"
  7. log4php.appender.A1.MaxBackupIndex="3"

至此:问题解决!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值