Install xdebug in centos7 with php7

I just realised I dont have a post on how to install xdebug in centos7 with php7 and setting up xdebug and eclipse. Its a feature that I use every day, and I had assumed I already had a post, but when searching my site ) only found instructions for XAMPP and xdebug.
I’m assuming you already have apache / php installed and working, and that you only need to add xdebug. This post shows how to install xdebug in centos7 with php7.
If you dont alreay have php7 installed in your centos7, you can follow my other post here. Once you have php7 installed, you can then install xdebug with the following:

Install xdebug in centos7 with php7

if you have php7 in centos7 with webtactic and epel you can install xdebug with the following


yum install php70w-pecl-xdebug.x86_64

if you have epel and webtactic, but not php7 you can install xdebug with:


yum install php-xdebug

Now that xdebug is in your sytstem its time to confgure xdebug

  • open /etc/php.d/xdebug.ini in your favourite editor
  • add the following lines

#this line will be added automatically
zend_extension = /usr/local/lib/php/extensions/xxx/xdebug.so
#add the following
xdebug.remote_log="/tmp/xdebug.log"
xdebug.profiler_enable = 1
xdebug.remote_enable=on
xdebug.remote_port=9000
xdebug.remote_autostart=0
xdebug.remote_connect_back=on
xdebug.idekey=editor-xdebug

You can find the correct paths to the files needed if you have yum-utils installed and run


repoquery --list  php70w-pecl-xdebug

# the output is:
/etc/php-zts.d/xdebug.ini
/etc/php.d/xdebug.ini
/usr/bin/debugclient
/usr/lib64/php-zts/modules/xdebug.so
/usr/lib64/php/modules/xdebug.so
/usr/share/doc/php70w-pecl-xdebug-2.4.1
/usr/share/doc/php70w-pecl-xdebug-2.4.1/CREDITS
/usr/share/doc/php70w-pecl-xdebug-2.4.1/LICENSE
/usr/share/doc/php70w-pecl-xdebug-2.4.1/README.rst
/var/lib/pear/pkgxml/xdebug.xml

You now need to restart httpd


service httpd restart
# or
systemctl restart httpd.service

Xdebug will now be up and running

If you are running with SELinux enforement on, then you can run this command to let xdebug out:

setsebool -P httpd_can_network_connect 1

Eclipse

Inside eclipse, goto preferences > php > debuggers
change the debugger to xdebug
click configure
change the dropdown for “accept remote session (JIT)” to “any” or “prompt”
click ok

Firefox

Xdebug Helper is the best solution I have found for firefox – simply install the extension from here, navigate to the site you want to debug, and click the little green bug, select debug and reload your page to open in your editors debugger. You might need to add the key you added to your xdebug.ini in the previous steps.

Chrome

Xdebug Helper is the best solution I have found for chrome – simply install the extension from here, navigate to the site you want to debug, and click the little green bug, select debug and reload your page to open in your editors debugger. You might need to add the key you added to your xdebug.ini in the previous steps.

sources:
https://www.jetbrains.com/help/phpstorm/2016.2/configuring-xdebug.html#updatingPhpIni
https://xdebug.org/docs/install

Leave a Reply