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

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 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 без $. Код выполняется, но регистрируется ошибка. Как найти метод?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

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

Сообщение tarasfrompir »

тут может быть не такое
Выборка из массива - у тебя типа $massiv написано , а надо - $massiv['i']
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

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

Сообщение Bagir »

tarasfrompir писал(а): Пт ноя 20, 2020 12:33 amтут может быть не такое
Да, действительно и так тоже может быть. Вопрос как теперь найти. В моем случае это вероятно метод из объектов класса Timer, т.к. ошибка повторяется ровно каждую минуту. А возможно код в другом методе, который вызывается из методов класса Timer. Вообщем найти весьма не просто. Как вы понять что в этот момент исполняется. Хотя бы отловить кусок кода, а там поиском найти его в методах.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

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

Сообщение fandaymon »

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

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

Сообщение Bagir »

fandaymon писал(а): Сб ноя 21, 2020 1:42 amСкопируй то, что у тебя выполняется каждую минуту из объекта onminute в какой-нибудь сценарий
Да, наверное придется искать в лоб подобным образом. Просто у меня 4 объекта в Timers с горой кода и вызовом большого количества других методов. Так что не факт, что ошибка где то в Timers. К то же подобная ошибка не критическая, и не останавливает выполнение когда. Более того, результат выполнения кода будет правильный.
У меня в данном случае хотя бы есть за что зацепиться. Ошибка повторяется ровно каждую минуту. Вообще хотелось бы понять, как бороться с подобными ошибками, если они возникают хаотично, при возникновении разных условий. Может как то включить регистрацию подобных ошибок. Или сделать на время перевести их их категории предупреждений, в категорию критических ошибок.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

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

Сообщение Bagir »

tarasfrompir писал(а): Пт ноя 20, 2020 12:33 am тут может быть не такое
Выборка из массива - у тебя типа $massiv написано , а надо - $massiv['i']
В яблочко! Именно так и было. Нашел за пару часов просто просмотром своего кода.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить