Как показать свое сообщение вместо стандартных сообщений об ошибках?

tend

Новичок
Как показать свое сообщение вместо стандартных сообщений об ошибках?

Всем привет!

Как сделать так, чтобы пользователям, просматривающим сайт, показывались не такие сообщения (например):
[06-Feb-2007 15:53:49] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/***/public_html/***/***.php on line 35
а какое нибудь свое.... типа: "Ошибка. Пожалуйста, обновите страницу."?
Но чтобы в файле error_log записывалось стандартное сообщение, чтобы можно было сделать анализ и узнать какие были ошибки.
 

Фанат

oncle terrible
Команда форума
Как сделать так, чтобы пользователям, просматривающим сайт, показывались не такие сообщения
display_errors=off
а какое нибудь свое.... типа: "Ошибка.
if или try..catch
Но чтобы в файле error_log записывалось стандартное сообщение
log_errors=on
 

tend

Новичок
А как самому сгенерировать ошибку "Can't connect to local MySQL server" или подобную?
Хочу проверить как работает то, что я сделал.
 

Фанат

oncle terrible
Команда форума
указать неверный хост в параметрах подключения не догадался?
 

tend

Новичок
неа, не догадался :))
Фанат, спасибо большое!

-~{}~ 12.02.07 14:12:

возник еще небольшой момент...
я это сделал через .htaccess, прописав "php_flag display_errors off", но после этого начала выскакивать ошибка "500 Internal Server Error". У меня в .htaccess есть еще одна строка: "ErrorDocument 404 /404.php". Может это как-то повлияло на ошибку?
Можно ли как-то прописать display_errors=off не через .htaccess, а в самом php-скрипте?
 

tend

Новичок
Фанат
"php_flag display_errors 0" тоже такую же ошибку выдает... "500 Internal Server Error"...
на просьбу о выключении display_errors мне хостер ответил следующее (цитирую): "Вы можете менять установку для "display_errors" прямо из PHP".
знаю как совсем отключать лог через php: error_reporting(0);
но вот что-то подобное с display_errors не нахожу... как это сделать?
 

Vallar_ultra

Любитель выпить :)
tend
>"php_flag display_errors 0" тоже такую же ошибку выдает... "500 Internal Server Error"...
[упал под стол]


Родимый, у тебя ошибку даёт не РНР а Апач!!!!! Смотри чё не так в .htaccess и иже с этим!
 

tend

Новичок
Vallar_ultra
да, ошибка от Апача, ты прав
в корне сайта лежит .htaccess и в нем всего одна строка:
php_flag display_errors 0
у меня только одно предположение... что через .htaccess поменять установку display_errors нельзя... я где-то о таком читал... вот поэтому, как мне кажется, хостер и сказал, что менять через PHP... хотя точно я не знаю и могу ошибаться, так как в этом я не силен
 

Sender

Новичок
set_error_handler
(PHP 4 >= 4.0.1, PHP 5)

set_error_handler -- Sets a user-defined error handler function
 

tend

Новичок
ага, зашел в сипанельку, а там написало в чем проблема:
Invalid command 'php_flag', perhaps mis-spelled or defined by a module not included in the server configuration
Орфографических ошибок точно нет... вроде. :)
А вот по поводу второй причины я так и не понял. Кто знает, помогите плиз.
 

Фанат

oncle terrible
Команда форума
Vallar_ultra
падай под стол в другом месте пожалуйста.

tend
в php можно через ini_set, но лучше сделать через htaccess
500 Internal Server Error - это не ошибка. В переводе это звучит так: "загляни в error_log"

-~{}~ 12.02.07 15:11:

tend
похоже, что у хостера php стоит в режиме cgi
теоретически, в таком случае он мог бы давать доступ к php.ini
но если не дает - то только через скрипт
 

tend

Новичок
в php можно через ini_set, но лучше сделать через htaccess
я так понимаю, метод через .htaccess только один... и он у меня не работает, поэтому остается через скрипт, но я не понял как это сделать
если есть ссылочка где об этом можно почитать, плиз дай, потому что не знаю даже что искать... или примерчик напиши, если он не трудный

-~{}~ 12.02.07 15:30:

сорри, уже сам нашел

-~{}~ 12.02.07 15:55:

ура, все получилось!
добавил в скрипт "ini_set('display_errors',0);" и все заработало как надо
в php можно через ini_set, но лучше сделать через htaccess
а можно узнать почему? какие-то побочные эффекты?
если разница существенная, тогда буду просить хостера...
 
Сверху