PHP7.0+Netbeans8.2+Xdebug2.6

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Ответить
Аватара пользователя
leonidps
Сообщения: 268
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

PHP7.0+Netbeans8.2+Xdebug2.6

Сообщение leonidps »

Вопросы по настройке NetBeans IDE периодически возникают. В связи с этим
Поделюсь своим некоторым свежим опытом настройки этого замечательного инструмента на рабочей машине - интеграция Xdebug

Ось Linux Mint 18.3 64b RU

Ранее установлены
Apache/2.4.18 (Ubuntu),
PHP Version 7.0.28-0ubuntu0.16.04.1
NetBeans IDE 8.2 (Build 201609300101)

Устанавливаем Xdebug

Код: Выделить всё

$ sudo apt install php7.0-dev(если еще не установлено)
$ sudo pecl install xdebug
изучаем сообщение установщика. Для нас важно вот это:
"You should add "zend_extension=/usr/lib/php/20151012/xdebug.so" to php.ini"
Открываем(с привилегиями суперпользователя) в Вашем любимом текстовом редакторе
файл «/etc/php/7.0/apache2/php.ini»
перед секцией [Date] добавляем строки

Код: Выделить всё

zend_extension=/usr/lib/php/20151012/xdebug.so

[xdebug]
xdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.idekey=netbeans-xdebug

Для гурманов еще настройки https://2bits.com/articles/setting-up-x ... buntu.html

Идем к NetBeans. Открываем Вкладку Параметры-Сервис-PHP-Отладка
Устанавливаем порт-отладчика 9001, сохраняем

Перезагружаем веб-службу

Код: Выделить всё

$ sudo service apache2 reload
смотрим

Код: Выделить всё

echo phpinfo()

Нас интересует вот это
This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
    with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
Наслаждаемся.
Последний раз редактировалось leonidps 2018.04.09, 10:26, всего редактировалось 2 раза.
Правила существуют не только для того, чтобы их нарушать.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: PHP7.0+Netbeans8.2+Xdebug2.6

Сообщение skynin »

Настройки самого Netbeans

в netbeans.conf

Код: Выделить всё

netbeans_default_options="-J-client -J-Xss2m -J-Xms1g -J-Xmx6g -J-XX:+UseG1GC -J-XX:PermSize=96m -J-XX:MaxPermSize=512m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Duser.language=en -J-Duser.region=GB -J-Dmercurial.encoding=utf-8 -J-Dfile.encoding=UTF8"
в котором мои настройки памяти:
настройик памяти
-J-Xms1g - минимальная, 1g. Можно 512m
-J-Xmx6g - максимальная 6g. Можно 1g. Лишнего не возьмет, не помню чтобы у меня Netbeans отъедал больше 3g

перм куча
-J-XX:PermSize=96m - не меньше 64m
-J-XX:MaxPermSize=512m - можно и 200m

для 32ухбиного учитывайте что Xmx + MaxPermSize должно быть не больше 2g

-J-Duser.language=en - язык
-J-Duser.region=GB - язык формат дат, времени

-J-client тип JVM.
можно -J-server если пропишите в netbeans_jdkhome JDK а не JRE.
Отличия -J-server - более агрессивная JIT компиляция (=более быстрая работа Netbeans), но более долгий разогрев (первые минут 10-30 может работать даже медленее чем при -J-client)
у JVM есть настройки для -J-server, но это уже тонкости тюнинга JVM
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Аватара пользователя
leonidps
Сообщения: 268
Зарегистрирован: 2011.01.18, 19:40
Откуда: Псков

Re: PHP7.0+Netbeans8.2+Xdebug2.6

Сообщение leonidps »

Ок. Благодарю за дополнение.
Я не имею цель делать статью о настройках Netbeans.
Для этого у меня просто нет материала, особенно в зависимости от платформ, версий и т.д.
Я даю частный успешный случай запуска отладчика последних версий для ОС Линукс(UBUNTU, DEBIAN).
Это может быть полезно для тех кто формирует свое рабочее место или решил обновить его.
Правила существуют не только для того, чтобы их нарушать.
Ответить