Как отладить скрипт, который зависает без возврата ошибок? (обновление SQL таблиц - около 1,5 часов процесса) - PullRequest
0 голосов
/ 28 января 2020

У меня есть сценарий, который я могу настроить для запуска X элементов данных, обработки данных каждого элемента и обновления таблицы БД обработанными данными.

Он успешно выполняется на 500 элементах данных ( Около 2 минут), а также для 2500 элементов данных (занимает около 10 минут), но для 20 000 элементов данных он замораживается примерно через час (должно закончиться sh через 1,5 часа)

Я не могу отправьте код, так как скрипт слишком большой, и я даже не уверен, что это будет иметь значение, и в любом случае он работает хорошо, когда время выполнения меньше. главный вопрос, как отладить такую ​​проблему?

Нет PHP Журнал ошибок показывает (и они показывают, если что-то не так), не видит ошибок в MYSQL Журнале ошибок тоже.

Сценарий просто перестает обновлять свой журнал обработки, а это значит, что он больше не вставляет записи в таблицу, даже если это необходимо. Тогда я могу только убить его, и тогда я увижу ошибку в моем журнале sql, например:

[Предупреждение] Прервано соединение 192356 с db: 'db' user: 'user' host: ' localhost '(ошибка чтения пакетов связи)

1 Ответ

0 голосов
/ 28 января 2020

вы можете использовать xdebug. Xdebug - это расширение для PHP, помогающее в отладке и разработке. Вы можете установить Xdebug через PECL на Linux и macOS1. Вы можете установить Xdebug с PECL с помощью:

pecl install xdebug

Когда это будет сделано, вам все равно нужно добавить правильную строку в php .ini

zend_extension = "/ usr / local / php / modules / xdebug.so"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...