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

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

Отправлено fa , 12-Июл-07 15:35 
Всем привет.
Пытаюсь записать что-нибудь в файл. Если вызываю скрипт из командной строки, пишет. Если открываю в браузере - в файле пусто. Ошибок не выдает. Права на файл - 777.
Пожалуйста, подскажите, в чем проблема.

$file="/var/www/html/rw/file";
$handle=fopen($file,'w');
$data=fwrite($handle,'qwerqewrqwerqwer');
fclose($handle);


Содержание

Сообщения в этом обсуждении
"php не пишет в файл"
Отправлено vic , 12-Июл-07 15:41 
>Всем привет.
>Пытаюсь записать что-нибудь в файл. Если вызываю скрипт из командной строки, пишет.
>Если открываю в браузере - в файле пусто. Ошибок не выдает.
>Права на файл - 777.
>Пожалуйста, подскажите, в чем проблема.
>
>$file="/var/www/html/rw/file";
>$handle=fopen($file,'w');
>$data=fwrite($handle,'qwerqewrqwerqwer');
>fclose($handle);

включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на всяческие операции аля fopen/system/popen и т.д.


"php не пишет в файл"
Отправлено fa , 12-Июл-07 18:38 
>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>всяческие операции аля fopen/system/popen и т.д.
Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf - файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с файлами не нашел :-(



"php не пишет в файл"
Отправлено Hellcat , 12-Июл-07 21:12 
>>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>>всяческие операции аля fopen/system/popen и т.д.
>Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf -
>файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с
>файлами не нашел :-(


Посмотри в /var/log/apache2/error_log - авось там что написало


"php не пишет в файл"
Отправлено fa , 13-Июл-07 02:42 
>>>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>>>всяческие операции аля fopen/system/popen и т.д.
>>Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf -
>>файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с
>>файлами не нашел :-(
>
>
>Посмотри в /var/log/apache2/error_log - авось там что написало

там и смотрю. нет ничего.
у меня ядро собственноручно собранное. Мог я там чего напортачить?


"php не пишет в файл"
Отправлено Ed , 28-Ноя-08 00:56 
>[оверквотинг удален]
>>Права на файл - 777.
>>Пожалуйста, подскажите, в чем проблема.
>>
>>$file="/var/www/html/rw/file";
>>$handle=fopen($file,'w');
>>$data=fwrite($handle,'qwerqewrqwerqwer');
>>fclose($handle);
>
>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>всяческие операции аля fopen/system/popen и т.д.

проверить наличие свободного места на диске


"php не пишет в файл"
Отправлено XAnder , 13-Июл-07 08:45 
Как вариант - браузер, где смотрите, или прокси какой-нибудь кеширует, и всегда видна одна и та же страница, повторных запусков скрипта не происходит. Попробуйте выводить в скрипте текущее время, чтобы узнать, так ли это.

И ещё, проверьте права на все каталоги по пути /var/www/html/rw/file. Может быть какой-нибудь недоступен для чтения.


"php не пишет в файл"
Отправлено Lucf3r , 13-Июл-07 10:28 
>Как вариант - браузер, где смотрите, или прокси какой-нибудь кеширует, и всегда
>видна одна и та же страница, повторных запусков скрипта не происходит.
>Попробуйте выводить в скрипте текущее время, чтобы узнать, так ли это.
>
>
>И ещё, проверьте права на все каталоги по пути /var/www/html/rw/file. Может быть
>какой-нибудь недоступен для чтения.

Вы точно поставили отображение ошибок? Точно нету нигде ".htaccess", переписывающего конфигурацию? Создайте phpinfo() скрипт в директории с Вашим скриптом и посмотрите не переназначились ли переменные в нем.

В php.ini:

error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On

-- Restart Apache

В своем скрипте:
Открытие файла замените на следующую конструкцию:

if(($fh = fopen($file_name,"w")) === FALSE){
    die('Failed to open file for writing!');
    }

Если файл открылся прочитать/записать Вы его сможете.

Если возникла какая-то ошибка - смотрите права на каждую директорию в дереве.


"php не пишет в файл"
Отправлено Silver Ghost , 23-Июл-07 10:21 
Права на /var/www/html/rw проверьте еще на всякий случай.

"php не пишет в файл"
Отправлено tutitu , 11-Фев-09 13:57 
>[оверквотинг удален]
>Открытие файла замените на следующую конструкцию:
>
>if(($fh = fopen($file_name,"w")) === FALSE){
>    die('Failed to open file for writing!');
>    }
>
>Если файл открылся прочитать/записать Вы его сможете.
>
>Если возникла какая-то ошибка - смотрите права на каждую директорию в дереве.
>

Спасибо за "Точно нету нигде ".htaccess"".