, или в PHP 7.2 или новее:
Это уведомление возникает, когда токен используется в коде и представляется константой, но константа с этим именем не определена.
Одной из наиболее распространенных причин этого уведомления является отказ от цитирования строки, используемой в качестве ассоциативного массива.
Например:
// Wrong
echo $array[key];
// Right
echo $array['key'];
Другие распространенные причины отсутствует значок $
(доллар) перед именем переменной:
// Wrong
echo varName;
// Right
echo $varName;
Или, может быть, у вас есть некорректная другая константа или ключевое слово:
// Wrong
$foo = fasle;
// Right
$foo = false;
Он также может быть признаком того, что необходимое расширение или библиотека PHP отсутствует при попытке доступа к константе, определенной этой библиотекой.
Вопросы, относящиеся:
Вы можете использовать jsadebugd ( JDK) для присоединения сервера отладки к процессу (доступный в Windows с эти Средства отладки для Windows ). Это отмечено как экспериментальное, таким образом, можно хотеть испытать его на тестовой машине сначала.
Использование:
jsadebugd <pid>
jdb -connect sun.jvm.hotspot.jdi.SADebugServerAttachingConnector:debugServerName=localhost
аргумент жгута из прутьев названия коннектора может быть найден с помощью jdb -listconnectors
.
VisualVM не является отладчиком, но можно получить дампы потока и дампы "кучи" от него, которые могут быть полезными в диагностировании некоторых проблем. Самые полезные функции требуют JVM 5 или 6.
Можно всегда использовать jdb и отлаживать вручную :P
с использованием jstack (полезно в случае взаимоблокировок) или btrace плагин VisualVM также может помочь
Чтобы уточнить, нельзя использовать такие инструменты, как jdb, для подключения к уже запущенным JVM>>, если они не были запущены в режиме отладки
в советской россии источник гласит вам
jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=9426