|
|
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
положим такая вещь есть у меня класс CFoo в составе которого есть методы обращения с базой mysql в последнее время очень часто начил вылетать скрипт с фразой: автор Fatal error: Maximum execution time of 30 seconds exceeded и тут указывается номер строки на которой произошел сбой. номер строки соответствует отправке запроса mysql_query вопрос как бы узнать какой запрос привел к сбою, вариант с выводом принтами строки запроса не катит дело в том, что сбои возникают довольно хаотично и в разных методах, плюс еще иерархия наследования классов, система развивается очень интенсивно. хотелось бы иметь возможность создать обработчик ошибки который бы распечатал бы с помощью print_r объект, метод которого привел к сбою. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2005, 16:18 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
У тебя время исполнения скрипта всего 30 секунд, т.е. РНР отводит на исоплнение скрипта всего 30 секунд, после этого РНР перестает исполнять этот скрипт и просто останавлвается, грубо говоря он останавливается на промежуточном действии.. Продли время исполнения скрипта, изменив настройку в php.ini max_execution_time. По умолчанию там указано 30 секунд. Поставь, например 300 секунд. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2005, 17:48 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
>>>Поставь, например 300 секунд. да причем здесь это, скрипт через раз отрабатывает на отлично а иногда сбоит, время выполнения - сложности выборок - даже близко к этим 30 секундам не подходят, мой вопрос в том, чтобы если такой сбой произошел вывести все поля объекта, метод которого вызвал mysql_query и завис, единственное что приходит в голову то, что посылаемая инструкция с багом, но учитывая что они формируются динамически отследить это сложно, вопрос в том, как сделать dump объектов в памяти при сбое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 10:03 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
var_dump() или var_export() ? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 10:13 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
black zorro>>>Поставь, например 300 секунд. да причем здесь этоДа при том.скрипт через раз отрабатывает на отлично а иногда сбоит PHP FAQ: Ничего не работает! Что делать??? время выполнения - сложности выборок - даже близко к этим 30 секундам не подходятЯ почему то склонен верить не тому, что ты тут несёшь, а тому, что пишет PHP. Если туго с английским - бегом на translate.ruмой вопрос в том, чтобы если такой сбой произошел вывести все поля объекта, метод которого вызвал mysql_query и завис, единственное что приходит в голову то, что посылаемая инструкция с багом, но учитывая что они формируются динамически отследить это сложно, вопрос в том, как сделать dump объектов в памяти при сбое.Fatal error средствами PHP перехватить нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 10:48 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
в общем разобрался я в чем дело, но такой пакости не ожидал. суть в том, что для работы с mysql использую EMS Mysql Manager PRO (версия trial может из-за этого прикол) если в этой тулзе открыть любую таблицу просто для просмотра того что там есть. то любой запрос из php скрипта блокируется. доходит до того, что запущу скрипт на выполнение висит, пока 30 секунд не прошли быстренько в EMS и закрываю там окно с таблицей тут же скрипт отвисает и работает на ура. >>>Я почему то склонен верить не тому, что ты тут несёшь, а тому, что пишет PHP читай внимательно текст сообщения. >>>Fatal error средствами PHP перехватить нельзя. а вот это жалко, получается в случае сбоя нелья создать собственную страницу обработки ошибок, типа если сбой то переход на go_err.php и там чтонибудь обнадеживающее для пользователя, плохо я к такому привык на jsp. или все таки можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 13:51 |
|
||
|
(PHP) отладочный дамп всех объектов в случае критического сбоя
|
|||
|---|---|---|---|
|
#18+
black zorro>>>Я почему то склонен верить не тому, что ты тут несёшь, а тому, что пишет PHP читай внимательно текст сообщения.Читай внимательно, что пишет PHP. Все остальные твои выдумки, которые были в первом посте - чистейшей воды беллетристика>>>Fatal error средствами PHP перехватить нельзя. а вот это жалко, получается в случае сбоя нелья создать собственную страницу обработки ошибок, типа если сбой то переход на go_err.php и там чтонибудь обнадеживающее для пользователя, плохо я к такому привык на jsp. или все таки можно?Сколько раз тебе нужно ответить на этот вопрос, чтобы до тебя наконец дошло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 14:14 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33007464&tid=1478481]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 506ms |

| 0 / 0 |
