Всем привет.
Пытаюсь записать что-нибудь в файл. Если вызываю скрипт из командной строки, пишет. Если открываю в браузере - в файле пусто. Ошибок не выдает. Права на файл - 777.
Пожалуйста, подскажите, в чем проблема.$file="/var/www/html/rw/file";
$handle=fopen($file,'w');
$data=fwrite($handle,'qwerqewrqwerqwer');
fclose($handle);
>Всем привет.
>Пытаюсь записать что-нибудь в файл. Если вызываю скрипт из командной строки, пишет.
>Если открываю в браузере - в файле пусто. Ошибок не выдает.
>Права на файл - 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.ini и httpd.conf на предмет разрешения/запрета на
>всяческие операции аля fopen/system/popen и т.д.
Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf - файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с файлами не нашел :-(
>>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>>всяческие операции аля fopen/system/popen и т.д.
>Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf -
>файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с
>файлами не нашел :-(
Посмотри в /var/log/apache2/error_log - авось там что написало
>>>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>>>всяческие операции аля fopen/system/popen и т.д.
>>Включил E_ALL. Ошибок по прежнему не показывает. В php.ini и httpd.conf -
>>файлы по умолчанию для CentOS. Никаких запрещающих действий на операции с
>>файлами не нашел :-(
>
>
>Посмотри в /var/log/apache2/error_log - авось там что написалотам и смотрю. нет ничего.
у меня ядро собственноручно собранное. Мог я там чего напортачить?
>[оверквотинг удален]
>>Права на файл - 777.
>>Пожалуйста, подскажите, в чем проблема.
>>
>>$file="/var/www/html/rw/file";
>>$handle=fopen($file,'w');
>>$data=fwrite($handle,'qwerqewrqwerqwer');
>>fclose($handle);
>
>включить сообщения об ошибках, проверить php.ini и httpd.conf на предмет разрешения/запрета на
>всяческие операции аля fopen/system/popen и т.д.проверить наличие свободного места на диске
Как вариант - браузер, где смотрите, или прокси какой-нибудь кеширует, и всегда видна одна и та же страница, повторных запусков скрипта не происходит. Попробуйте выводить в скрипте текущее время, чтобы узнать, так ли это.И ещё, проверьте права на все каталоги по пути /var/www/html/rw/file. Может быть какой-нибудь недоступен для чтения.
>Как вариант - браузер, где смотрите, или прокси какой-нибудь кеширует, и всегда
>видна одна и та же страница, повторных запусков скрипта не происходит.
>Попробуйте выводить в скрипте текущее время, чтобы узнать, так ли это.
>
>
>И ещё, проверьте права на все каталоги по пути /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!');
}Если файл открылся прочитать/записать Вы его сможете.
Если возникла какая-то ошибка - смотрите права на каждую директорию в дереве.
Права на /var/www/html/rw проверьте еще на всякий случай.
>[оверквотинг удален]
>Открытие файла замените на следующую конструкцию:
>
>if(($fh = fopen($file_name,"w")) === FALSE){
> die('Failed to open file for writing!');
> }
>
>Если файл открылся прочитать/записать Вы его сможете.
>
>Если возникла какая-то ошибка - смотрите права на каждую директорию в дереве.
>Спасибо за "Точно нету нигде ".htaccess"".