Php ничего не может написать
Просто перенес мои сайты на мой первый vps (centos 7). Так что я новичок в Linux. Теперь у меня есть проблема: PHP не может написать что-нибудь. Не могу создавать каталоги, файлы, редактировать их. PHP работает как "Apache" Вещи, которые я пытался:
- Chmod все каталоги и файлы до 777
- Чоун все каталоги и файлы в "apache"
- Chown все папки и файлы "никому"
Его просто нужно редактировать с помощью file_put_contents(req.log, $content).
Как я могу это исправить?
Редактировать:Ls -l:
root@vps314463 data]# ls -l
total 120
drwxrwxrwx. 2 apache apache 4096 Sep 8 11:12 EMAIL
-rwxrwxrwx. 1 apache apache 30357 Sep 8 10:49 login.log
-rwxrwxrwx. 1 apache apache 510 Sep 8 10:49 loginfail.log
-rwxrwxrwx. 1 apache apache 73268 Sep 8 10:49 req.log
-rwxrwxrwx. 1 apache apache 837 Sep 8 10:49 users copy 3.db
-rwxrwxrwx. 1 apache apache 994 Sep 8 10:49 users.db
Редактировать: попробовал ответ Костаса, я chmoded и чурбан public_html/data. Затем открыл test.php в public_html в веб-браузере со следующим кодом:
<?php
mkdir("data/testdir")
?>
Ничего не произошло, и произошла эта ошибка:
[Thu Sep 08 22:39:20.138500 2016] [:error] [pid 24286] [client xx.xx.xxx.xxx:47632] PHP Warning: mkdir(): Permission denied in /var/www/example.com/public_html/usertest.php on line 3
1 ответ
Чтобы создать каталог / файл внутри каталога, пользователь apache должен иметь права на запись в родительский каталог.
chown apache.apache /path/to/data
а потом
chmod 755 /path/to/data