Мой веб-сервер работает как daemon
, Я знаю о безопасности и так далее, но, пожалуйста, пока игнорируйте это. Моя проблема в том, что я сделал:
> chmod 777 /web/htdocs/olivier/wogwog/transit/02.done
> ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx 2 hqfdev hqfdev 36K Jan 17 14:41 02.done
Так что каталог принадлежит пользователю hqfdev
/ группа hqfdev
,
Вот мой код Php:
$tmp_name='/web/htdocs/olivier/wogwog/transit/02.done/caca.txt';
if (($handle=@fopen($tmp_name, 'w'))!==false) {
fclose($handle);
error_log('OOOOOOOOOK');
} else {
error_log('error');
}
Я продолжаю получать это в моих журналах:
[snip] [:error] [snip] current running = daemon, referer: http://www.blabla/
[snip] [:error] [snip] PHP Warning: fopen(...): failed to open stream: Permission denied in /blabla.php on line 5, referer: http://www.blabla/
[snip] [:error] [snip] error, referer: http://www.blabla/
Таким образом, процесс, который пытается создать файл daemon
и он не может записать в папку 777, которая принадлежит hqfdev
, (*.*)
. Я полностью застрял, потому что я сделал это миллиард раз, и это сработало.
Для вашей информации, если я ssh
мой сервер, войдите как hqfdev
и запустить этот скрипт «от руки», он работает.
В чем может быть проблема (и, конечно, решение)?
Я нашел решение: родительская папка не давала права своим детям:
Конфигурация, которая не работает
$ ls -al /web/htdocs/olivier/wogwog
drwx------ hqfdev hqfdev transit
$ ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx hqfdev hqfdev 02.done
Теперь конфигурация, которая работает:
$ ls -al /web/htdocs/olivier/wogwog
drwxr-xr-x hqfdev hqfdev transit
$ ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx hqfdev hqfdev 02.done
…чистый Unix отсутствие знаний …
Других решений пока нет …