LinuxForum.Fans
Тема

Проблема при создании файла на VPS

Автор: iAlexandre 7 сообщений 2389 просмотров
#387436

Всем привет!
Краткий ликбез: на VPS поставил CentOS 6. Залил небольшую программку, которая будет получать данные от моих устройств, которые, в свою очередь, при подключении к серверу по ip:100 в определенном каталоге создают *.txt файл. Я открыл доступ по нужному порту через виртуалхост к нужным папкам, все проверил - порт открыт, апачем слушается и все вроде бы хорошо. Но, что-то при подключении устройства файл не создается, сделал логи подключения устройства к виртуалхосту по порту и вот что там:

Показать
text

[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  flock() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data1.php on line 7
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  fputs() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data1.php on line 8
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  flock() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data1.php on line 9
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data1.php on line 10
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  flock() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data.php on line 6
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  fputs() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data.php on line 7
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  flock() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data.php on line 8
[Wed Jul 23 19:45:27 2014] [error] [client xx.xx.xx.xx] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /var/www/html/myfolder/data.php on line 9 

Содержимое data1.php:

Показать

data.php:

Показать

Что я делаю не так и в чем проблема? :(

#387438
text
failed to open stream: Permission denied in /var/www/html/myfolder/data1.php on line 6

Не может записать туда, куда ссылается в скрипте data1.php инструкция в 6 строке.

Узнаете значение переменной $file, тогда сможете понять, чего не хватает.

#387443

Создал вручную по FTP нужные файлы и все заработало - файлы начали заполняться а в логах теперь пусто. Но это не выход абсолютно, не буду же я создавать каждый день новый файл. Отсюда вопрос: почему устройству не удается создать файл в папке? Копать в какой стороне?

#387460

Мысль 1:
У пользователя www-data от имени которого запускается apache должны быть соответствующие права на запись в каталоге где создаются файлы.

Вроде так:

[console]chown -R www–data:www-data /somefolder
chmod -R 660 /somefolder[/console]

#387466

Cпасибо, дельный совет! Буду тестировать.

Как выяснилось, в CentOS нет юзера www–data
[console][root@vps etc]# chown -R www–data:www-data /var/www/html/
chown: invalid user: `www–data:www-data'[/console]

Но, вместо него используется юзер "apache" на сколько я понял. Сейчас буду проверять)

#387467

Писал по памяти.

Вроде на самом деле вот так обстоят дела:

There is apache user instead of www-data in Centos.

#387469

Да, все работает как нужно! Файлы создаются, логи пустые.

Marley,спасибо еще раз!

Войдите или зарегистрируйтесь, чтобы ответить.