2016-06-09 6 views
0

을 거부, 나는 다음과 같은 오류 얻을 :PHP는 log4php에서 mkdir 권한 프로덕션 시스템에 로컬 컴퓨터에서 프로젝트를 이동 한 후

<b>Warning</b>: mkdir(): Permission denied in 
<b>/var/www/html/findmynumber/api/v1/apache-log4php-2.3.0/src/main/php/appenders/LoggerAppenderFile.php</b> on line 
<b>93</b> 
<br/> 
<b>Warning</b>: log4php: [LoggerAppenderFile:myAppender]: Failed creating target directory [/var/wwww/html/findmynumber/api/v1/logs]. Closing appender. in 
<b>/var/www/html/findmynumber/api/v1/apache-log4php-2.3.0/src/main/php/LoggerAppender.php</b> on line 
<b>283</b> 

소유자는 www가 데이터입니다. 또한 그룹은 www- 데이터입니다. 나는 프로젝트 폴더에 대해 완전한 권한 (777)을 주려고했지만 성공하지 못했습니다. log4php에 대한

호출은 다음과 같습니다

include dirname(__FILE__) . "/apache-log4php-2.3.0/src/main/php/Logger.php"; 
Logger::configure(dirname(__FILE__) . '/apache-log4php-2.3.0/src/config.xml'); 
$log = Logger::getLogger('myLogger'); 

config.xml 파일은 다음과 같습니다 : 나는 여기에 무엇을 놓치고

<configuration> 
    <appender name="myAppender" class="LoggerAppenderFile"> 
    <param name="file" value="/var/wwww/html/findmynumber/api/v1/logs/myLog.log"/> 
    </appender> 
    <appender name="console" class="LoggerAppenderConsole"/> 
    <root> 
    <appender_ref ref="console"/> 
    </root> 
    <logger name="myLogger"> 
    <level value="DEBUG"/> 
    <appender_ref ref="myAppender"/> 
    </logger> 
</configuration> 

?

편집

우는 소리는 함수가 오류가 나타납니다했다입니다. 그것은 LoggerAppenderFile.php에서의 log4php 파일에서 가져온 것입니다 : 보시다시피

protected function openFile() { 
    $file = $this->getTargetFile(); 
    echo $file . "\n"; 
    $curr = !is_file($file); 
    echo "curr is: " . $curr . "\n"; 
    echo is_file($file) . "\n" ; 
    echo dirname($file) . "\n"; 
    // Create the target folder if needed 
    if(!is_file($file)) { 
     $dir = dirname($file); 

     if(!is_dir($dir)) { 
      $success = mkdir($dir, 0777, true); 
      if ($success === false) { 
       $this->warn("Failed creating target directory [$dir]. Closing appender."); 
       $this->closed = true; 
       return false; 
      } 
     } 
    } 

, 나는 몇 가지 디버그 인쇄 나 자신을 추가했다. 93 행은 mkdir 문이있는 행입니다.

+1

사용 재귀 명령에서 확인하실 수 있습니다 이와 같은해야 Config.xml의 오타 실수 권한 "chmod 777 -R your-proj-folder"를 설정하십시오. -R을 사용하면 프로젝트 폴더와 하위 폴더에 대한 사용 권한도 설정됩니다. –

+0

@TheBigbyteNumber 이미 그랬지 만 오류가 남아 있습니다 – florin

+0

우리는 줄 93을보아야합니다. – vitr

답변

0

@florin 문제는

<appender name="myAppender" class="LoggerAppenderFile"> 
    <param name="file" value="/var/wwww/html/findmynumber/api/v1/logs/myLog.log"/> 
    </appender> 

는이

/var/www/html/findmynumber/api/v1/logs/myLog.log. instead of www you kept wwww 

이 경고

<b>Warning</b>: log4php: [LoggerAppenderFile:myAppender]: Failed creating target directory [/var/wwww/html/findmynumber/api/v1/logs]. Closing appender. in 
+0

이것이 문제였습니다. 고맙습니다 – florin