Я знаю, что это распространенная проблема, но я не смог выделить проблему для своего конкретного случая использования, так что несите меня.PHP file_put_contents, возвращающий «Permission Denied»
У меня есть простой PHP-скрипт send_id
, который просто отправляет идентификационный номер и сохраняет его в TXT-файле на моем сервере RHEL с Apache 2.4.6 с PHP 5.4.
Сообщение об ошибке: Warning: file_put_contents(/var/www/html/id.txt): failed to open stream: Permission denied in /var/www/html/send_id.php on line 6 '1' written to server
РНР сам скрипт:
<?php
$id=$_GET['id'];
$stringData = "$id";
$file = file_put_contents('/var/www/html/id.txt', $stringData.PHP_EOL , FILE_APPEND |LOCK_EX);
echo "'$stringData' written to server";
?>
chmodding 777 ничего не делать. Кроме того, я проверил, чтобы увидеть права собственности и заметил, что файл id.txt принадлежит пользователю root на уровне пользователя/группы, а PHP запускается на корневом уровне.
У кого-нибудь есть предложения? Если какая-либо помощь, похоже, произошла после yum update
Да, +1 для не просто отключения SELinux! – miken32
хорошо ... пока это будет работать, не может рекомендовать это. Пожалуйста, см. Мой ответ –
Aaaaand, что именно это делается? – TerranRich