PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: PHP Notice
Инклуд
Отправлено: 22 Июня, 2011 - 22:56:32
Post Id



Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Окт. 2010  
Откуда: Россия


Помог: 0 раз(а)




Если в процессе работы скрипта вылазят некоторые ошибки (PHP Notice), есть ли возможность сохранить их в процессе работы, скажем, в какой-нибудь файл? Чтобы потом открыть и посмотреть, были ли где-то проблемы.
Подскажите, пожалуйста. Заранее благодарен.
 
 Top
OrmaJever Модератор
Отправлено: 22 Июня, 2011 - 23:02:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




так для себя раньше писал функцию. Написать вначале файла и если будут ошибки они запишутся в error.log
PHP:
скопировать код в буфер обмена
  1. $error_handler = function($errno, $error, $errfile, $errline)
  2. {
  3.         $err = array(E_ERROR=>'Fatal error', E_WARNING=>'Warning error', E_PARSE=>'Parce error', E_NOTICE=>'Notice', E_USER_ERROR=>'Fatal user', E_USER_WARNING=>'Warning user', E_USER_NOTICE=>'Notice user', E_STRICT=>'Strict error', E_DEPRECATED=>'Deprecated', E_USER_DEPRECATED=>'Deprecated user');
  4.    $str = $err[$errno].': '.$error.' in '.$errfile.' on line '.$errline."\n";
  5.  
  6.         if(end(file('error.log')) != $str)
  7.         {
  8.                 $f = fopen('error.log', 'a+');
  9.                 fputs($f, $str);
  10.                 fclose($f);
  11.         }
  12.         exit('Извините произошла ошибка. В скором времени её исправят');
  13. };
  14. set_error_handler($error_handler, E_NOTICE);


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Инклуд
Отправлено: 22 Июня, 2011 - 23:04:06
Post Id



Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Окт. 2010  
Откуда: Россия


Помог: 0 раз(а)




Пора заново литературу читать Улыбка Спасибо большое ;)
 
 Top
OrmaJever Модератор
Отправлено: 22 Июня, 2011 - 23:12:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ой не! это под php 5.3
под рание версии будет выглядеть так
PHP:
скопировать код в буфер обмена
  1. function error_handler($errno, $error, $errfile, $errline)
  2. {
  3.         $err = array(E_ERROR=>'Fatal error', E_WARNING=>'Warning error', E_PARSE=>'Parce error', E_NOTICE=>'Notice', E_USER_ERROR=>'Fatal user', E_USER_WARNING=>'Warning user', E_USER_NOTICE=>'Notice user', E_STRICT=>'Strict error', E_DEPRECATED=>'Deprecated', E_USER_DEPRECATED=>'Deprecated user');
  4.    $str = $err[$errno].': '.$error.' in '.$errfile.' on line '.$errline."\n";
  5.  
  6.         if(end(file('error.log')) != $str)
  7.         {
  8.                 $f = fopen('error.log', 'a+');
  9.                 fputs($f, $str);
  10.                 fclose($f);
  11.         }
  12.         exit('Извините произошла ошибка. В скором времени её исправят');
  13. };
  14. set_error_handler('error_handler', E_NOTICE);


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
vasa_c
Отправлено: 23 Июня, 2011 - 13:25:31
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Они и так сохраняются - в логи.
Может только в php.ini настроить уровень ошибок придётся.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB