Forum Webscript.Ru

Программирование => PHP => Тема начата: peteK от 26 Мая 2002, 08:28:44

Название: Перенаправление ввода-вывода
Отправлено: peteK от 26 Мая 2002, 08:28:44
Сабж собсно. Как?

Нужно, чтобы поток ошибок направлялся в файл, а не светился юзерам на сайте. Типичная проблема: "failed to connect" для функции mail или проблемы с правами при доступе к файлам...

В общем, подскажите плиз, как на php переправить стандартный поток ошибок в файл.

Спасибо.
Название: Перенаправление ввода-вывода
Отправлено: alesh от 26 Мая 2002, 11:03:13
имхо , никак.
Я не думаю, что так можно сделать
Попробуй поиграться с erroe_reporting  ,  но я думаю , что не выйдет
Название: Перенаправление ввода-вывода
Отправлено: peteK от 26 Мая 2002, 11:50:46
возможность должнать быть... На unix машинах же сервера обычно работают, а в unixe перенапрвление обычное дело. В C перенапрвлять запросто, а вот как в php это делать еще до докопался...
Название: Перенаправление ввода-вывода
Отправлено: Britva от 26 Мая 2002, 12:13:48
смотри в php.ini:
Цитировать

; Print out errors (as a part of the output).  For production web sites,
; you\'re strongly encouraged to turn this feature off, and use error logging
; instead (see below).  Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors=On

; Even when display_errors is on, errors that occur during PHP\'s startup
; sequence are not displayed.  It\'s strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors=Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you\'re strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors=Off

; Store the last error/warning message in $php_errormsg (boolean).
track_errors=Off

; Disable the inclusion of HTML tags in error messages.
;html_errors=Off

; String to output before an error message.
;error_prepend_string=""

; String to output after an error message.
;error_append_string="
"

; Log errors to specified file.
;error_log=filename

; Log errors to syslog (Event Log on NT, not valid in Windows 95).
;error_log=syslog

; Warn if the + operator is used with strings.
warn_plus_overloading=Off
Название: Перенаправление ввода-вывода
Отправлено: peteK от 26 Мая 2002, 12:31:38
спасиб, но я не могу на моем хостинге добраться до ini-файла php. Долже быть "runtime" способ переназначить stderr...
Название: Перенаправление ввода-вывода
Отправлено: Макс от 26 Мая 2002, 12:32:28
В мануале по PHP читай раздел
Error Handling and Logging Functions
точнее см set_error_handler()
Название: Перенаправление ввода-вывода
Отправлено: Britva от 26 Мая 2002, 12:44:08
http://ru.php.net/manual/ru/function.ini-set.php
Название: Перенаправление ввода-вывода
Отправлено: peteK от 26 Мая 2002, 13:19:11
Спасибо! Оба способа помогут.

Правда я ожидал, что то типа функций C dup и fcntl...

Но и ваши способы, Britva и Макс, вполне подходят. ;)
Еще раз спасибо.