После перемещения проекта с локального компьютера на рабочий, я получаю следующую ошибку:
<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-data. Также в группе есть www-data. Я даже пытался дать полные разрешения (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>
Что мне здесь не хватает?
редактировать
Ниже приведена функция, в которой появляется ошибка. Он взят из файлов log4php, из LoggerAppenderFile.php:
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.
Проблема @florin — опечатка в config.xml
<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
Других решений пока нет …