![]() |
проблема записи логов в файл (php)
Вот у меня тут проблемка произошла...
На удаленном линуксовом серваке нахождится php-скрипт, который пишет логи в файл, находящийся рядом. Вот код скрипта: PHP код:
Права на файл с логами - 666. В чем причина такого изменения? |
Цитата:
Цитата:
|
2 qW1zer:
Второй вариант некорректный, \n не может быть за пределами кавычек 2 mr.celt: Попробуй прежде чем писать в файл, проверять его на доступность: PHP код:
|
Pashkela
Спасибо за информацию! А вот про доступность,разве нельзя просто открыть файл с права a+ и если файла нет,он будет создан!Или я не прав? |
http://php.net/manual/en/function.fopen.php
Цитата:
Доступностью в данном случае названа проверка того, что файл открылся на запись: $file = fopen("logs.txt","a"); if ($file) ... PS: Успел открыться (создаться), прежде чем в него начали что-то писать. Актуально при большом потоке логируемых данных, да и вообще так правильней делать |
Зачем так много строк? И кстати насчет прав, а разве не 777 права нада для записи в файл?
PHP код:
|
даже 644 достаточно
PS: Вообще иметь на хосте что-либо 755 или 777 чревато |
b3
Твой вариант не на любой случай жизни расчитан. В PHP4 нету функции file_put_contents, поэтому вариант пашкелы тут более уместен. |
Цитата:
|
Во варианте от Pashkela если файл не может быть открыт, то fclose вывалит warning. Плюс блочить доступ на запись к файлу неплохо, если в лог активно записи добавляются несколькими процессами.
PHP код:
|
| Время: 07:39 |