Stepashka20
@Stepashka20
(☞゚ヮ゚)☞

Почему возникает ошибка Permission denied при удалении файла PHP?

Сначала я копирую файлы в одну папку becup2
$arr = myscandir("./");
$arr2=array();
foreach ($arr as $file) {
    if (preg_match('/(.*)\.(.+)/m', $file)){
        array_push($arr2,$file);
    }
};
 
 
foreach ($arr2 as $file) {
    $new_file = './becup2/'.$file;
    if (copy($file, $new_file)) {
        echo 'Файл успешно скопирован!';
    }else{
        echo 'Файл не удалось скопировать!';
    }
    chmod($new_file, 0750);
}

Но также мне нужна возможность удалять файлы из этой папки.Но когда я делаю unlink($file),php возвращает ошибку:
Warning: unlink(.htaccess): Permission denied in /home/Stepashka20/public_html/test.php on line 26

Апаче работает от юзера www-data.Папке пробовал дать вообще все права(777) и установил ей chown www-data:www-data becup2,но опять же не работает.Файлы в папке имею юзера и группу - www-data
Как разрешить удаление файлов?
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 2
@dzhebrak
Проверьте права именно у файла .htaccess. Часто для него дополнительно ограничивают права.

Еще возможная причина - SELinux
Ответ написан
kocherman
@kocherman
На сервере включен SELinux?
Если да, то папке нужно выставить нужный контекст.
Что-то вроде этого (вписываете свои пути):
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html(/.*)?'
restorecon -R -v /var/www/html/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы