Как узнать в каком месте зависла программа на PHP?
PHP 5.3.1
Способ проще некуда: ставим модуль PHP xdebug, прописываем его в php.ini (не забываем, что в PHP 5.3 всегда используется «zend_extension»), а в исследуемой программе указываем:
xdebug_start_trace('/какой/то/путь/имя-лога', XDEBUG_TRACE_APPEND);После зависания идём в указанную папку и смотрим в лог, последняя строка в нём и есть источник зависания.
Комментарии 10
Xdebug хорош тем, что он показывает конкретную функцию в программе, с его помощью я увидел, что у меня висит функция crypt.
А какие настройки в php.ini прописаны? Я на двух серверах (и win, и nix) не могу разобраться с xdebug под PHP 5.3 :(
Всё незатейливо:
zend_extension="Z:\usr\local\php5\ext\php_xdebug.dll"
[xdebug]
xdebug.remote_enable = On
Спасибо!
Я просто не ту
Бывает :)
Пофиксили, но ещё не выложили официально.
Неприятно, да.