URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 46409
[ Назад ]

Исходное сообщение
"PHP не пишет в файл на сервере Apache"

Отправлено Destr , 23-Июл-04 07:11 
Доброе время суток, всезнающий All.

PHP не пишет в файл на сервере Apache под Linux.
Пробовал исходники на Apache под Windows 2000 -все отрабатывает.
Пробовал на локали. По сети писать не пробовал, негде.
Кусок файла:

<?
if(isset($submit)):
  $file="users/text.html";
  if(!$open_file = fopen($file, "a")):
     print("Error! File can`t be opened!");
  else:
     $date = date("d.m.Y H:i");
     $comments = "<hr>Комментарий оставил: $name, $email в $date.\n\nЕго коментарий: $feedback\n\n<hr>";
     fwrite($open_file,$comments);
     fclose($open_file);
  endif;
else:
?>
<form action="comments.php" method="POST">

<p>Напишите Ваши пожелания:
<br> <textarea name="feedback" cols="40" rows="10">


Содержание

Сообщения в этом обсуждении
"PHP не пишет в файл на сервере Apache"
Отправлено EvilX , 23-Июл-04 09:19 
Из под кого работает апач? Есть ли права на запись в этот файл?


"PHP не пишет в файл на сервере Apache"
Отправлено Destr , 23-Июл-04 10:40 
>Из под кого работает апач? Есть ли права на запись в этот
>файл?
Стоит ASPLinux 9.0
Апатч я запускал с правами рута с консоли.
Правильно ли, что я назначил права на запись в файл апачу?

"PHP не пишет в файл на сервере Apache"
Отправлено Destr , 23-Июл-04 12:43 
>>Из под кого работает апач? Есть ли права на запись в этот
>>файл?
>Стоит ASPLinux 9.0
>Апатч я запускал с правами рута с консоли.
>Правильно ли, что я назначил права на запись в файл апачу?
Формулирую вопрос: От кого надо запускать Web, чтобы PHP мог создавать/редактировать файлы, которые находятся на Вебе?



"PHP не пишет в файл на сервере Apache"
Отправлено ihor , 23-Июл-04 12:58 
создай для Apache пользователя, скажем, www, и запускай его от этого пользователя. затем поставь соотв. права на папки и файлы, кот. Apache будет читать и в которые будет что-то писать. если Apache будет запускаться от www, то и PHP - скрипты будут запускаться от имени www.


"PHP не пишет в файл на сервере Apache"
Отправлено patriot , 24-Июл-04 00:26 
>>Из под кого работает апач? Есть ли права на запись в этот
>>файл?
>Стоит ASPLinux 9.0
>Апатч я запускал с правами рута с консоли.
>Правильно ли, что я назначил права на запись в файл апачу?
А как ты его из-под рута запустил? Насколько я помню, он под рутом не заводится....

"PHP не пишет в файл на сервере Apache"
Отправлено Destr , 28-Июл-04 11:55 
>>>Из под кого работает апач? Есть ли права на запись в этот
>>>файл?
>>Стоит ASPLinux 9.0
>>Апатч я запускал с правами рута с консоли.
>>Правильно ли, что я назначил права на запись в файл апачу?
>А как ты его из-под рута запустил? Насколько я помню, он под
>рутом не заводится....
Заводится.

Делаю такую команду:
su -c apache --command=httpd
и получаю по ps ux следущее
root      4439  3.5  2.2 14440 5720 ?        S    13:44   0:00 httpd
Значит ли это, что httpd запустился root`a?
Правильно ли я набрал стоку запуска?


"PHP не пишет в файл на сервере Apache"
Отправлено Destr , 07-Сен-04 16:09 
Еще раз, здравствуйте!
Ну где же конкретно можно почитать, какие права и кому нужно ставить?
Книжки по PHP, которые я читал, расказывают обо всем, но только не об этом. Аpache по этому поводу тоже мало что может сказать, во всяком случае я не нашел.
Спасибо всем, кто откликнетя.


"PHP не пишет в файл на сервере Apache"
Отправлено kpoxa , 21-Сен-04 17:36 
>Еще раз, здравствуйте!
>Ну где же конкретно можно почитать, какие права и кому нужно ставить?
>
>Книжки по PHP, которые я читал, расказывают обо всем, но только не
>об этом. Аpache по этому поводу тоже мало что может сказать,
>во всяком случае я не нашел.
>Спасибо всем, кто откликнетя.

В апачевском конфиге устанавливается пользователь и группа
-----
User apache
Group apache
------
из под которых все и работает, соответственно файл
должен иметь право на запись для этого аккаунта