Я новичок во всей PHP-версии, и мне нужно написать файл на сервере (мой собственный компьютер, на котором я разрабатываю веб-приложение), с некоторой информацией о конфигурации. Вот код, который я использую:Невозможно создать файл создания с помощью PHP file_put_contents
$filename = "config.conf";
$db_info = $db_user . "<-*->" . $db_passwd . "<-*->" . $db_name;
if (file_put_contents($filename,$db_info) === false){
$ret["error"] = "Can't create/write: $filename.";
mysqli_close($con);
echo json_encode($ret);
return;
}
Когда я тестирую свое веб-приложение, я получаю ошибку create/write, которую я написал. Я проверил и файл не создан. Мой рабочий каталог находится в/var/www/tests, но я проверил тесты, и мой пользователь имеет права на чтение и запись и является владельцем этой папки. Если я создам файл с обычным файловым проводником, у меня проблем нет. Так как функция настолько проста, я в недоумении. Пожалуйста помоги!
У вашего пользователя есть соответствующие разрешения, но ваш пользователь также запускает PHP? Во многих настройках веб-сервера это не так. –
Процесс PHP, вероятно, не работает как ваш пользователь. Вероятно, он работает в процессе Apache и поэтому наследует права пользователя, который запускает демон Apache (httpd). (Если вы используете Apache, то есть). – GolezTrol
Пользователь, которому работает php, нуждается в разрешениях на чтение/запись. Поэтому, если он работает как apache или apache2 или httpd или что-то еще, это пользователь, которому нужен доступ на запись. – Anthony