Страница 1 из 1

Поиск своих ошибок

Добавлено: Чт ноя 19, 2020 11:33 pm
Bagir
В логе Apachi вижу такие ошибки:
[Thu Nov 19 23:19:00.764449 2020] [php7:warn] [pid 6572:tid 1544] [client 127.0.0.1:51495] PHP Warning: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in D:\\xampp\\htdocs\\modules\\objects\\objects.class.php(643) : eval()'d code on line 19
[Thu Nov 19 23:19:00.764449 2020] [php7:warn] [pid 6572:tid 1544] [client 127.0.0.1:51495] PHP Warning: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in D:\\xampp\\htdocs\\modules\\objects\\objects.class.php(643) : eval()'d code on line 20
Вероятно я где то использовал переменную i без $. Код выполняется, но регистрируется ошибка. Как найти метод?

Re: Поиск своих ошибок

Добавлено: Пт ноя 20, 2020 12:33 am
tarasfrompir
тут может быть не такое
Выборка из массива - у тебя типа $massiv написано , а надо - $massiv['i']

Re: Поиск своих ошибок

Добавлено: Сб ноя 21, 2020 1:22 am
Bagir
tarasfrompir писал(а):
Пт ноя 20, 2020 12:33 am
тут может быть не такое
Да, действительно и так тоже может быть. Вопрос как теперь найти. В моем случае это вероятно метод из объектов класса Timer, т.к. ошибка повторяется ровно каждую минуту. А возможно код в другом методе, который вызывается из методов класса Timer. Вообщем найти весьма не просто. Как вы понять что в этот момент исполняется. Хотя бы отловить кусок кода, а там поиском найти его в методах.

Re: Поиск своих ошибок

Добавлено: Сб ноя 21, 2020 1:42 am
fandaymon
Bagir писал(а):
Сб ноя 21, 2020 1:22 am
tarasfrompir писал(а):
Пт ноя 20, 2020 12:33 am
тут может быть не такое
Да, действительно и так тоже может быть. Вопрос как теперь найти. В моем случае это вероятно метод из объектов класса Timer, т.к. ошибка повторяется ровно каждую минуту. А возможно код в другом методе, который вызывается из методов класса Timer. Вообщем найти весьма не просто. Как вы понять что в этот момент исполняется. Хотя бы отловить кусок кода, а там поиском найти его в методах.
Скопируй то, что у тебя выполняется каждую минуту из объекта onminute в какой-нибудь сценарий, да запусти его - по идее должен показать в какой строке ошибка

Re: Поиск своих ошибок

Добавлено: Сб ноя 21, 2020 1:03 pm
Bagir
fandaymon писал(а):
Сб ноя 21, 2020 1:42 am
Скопируй то, что у тебя выполняется каждую минуту из объекта onminute в какой-нибудь сценарий
Да, наверное придется искать в лоб подобным образом. Просто у меня 4 объекта в Timers с горой кода и вызовом большого количества других методов. Так что не факт, что ошибка где то в Timers. К то же подобная ошибка не критическая, и не останавливает выполнение когда. Более того, результат выполнения кода будет правильный.
У меня в данном случае хотя бы есть за что зацепиться. Ошибка повторяется ровно каждую минуту. Вообще хотелось бы понять, как бороться с подобными ошибками, если они возникают хаотично, при возникновении разных условий. Может как то включить регистрацию подобных ошибок. Или сделать на время перевести их их категории предупреждений, в категорию критических ошибок.

Re: Поиск своих ошибок

Добавлено: Сб ноя 21, 2020 5:20 pm
Bagir
tarasfrompir писал(а):
Пт ноя 20, 2020 12:33 am
тут может быть не такое
Выборка из массива - у тебя типа $massiv написано , а надо - $massiv['i']
В яблочко! Именно так и было. Нашел за пару часов просто просмотром своего кода.