I am using php 8.1, PhpStorm version 2021.2.3. Xdebug 3
When I create a single PHP file and run it in the built-in web server I can debug correctly opening it from the browser with the Debug extension enabled. However, when I try to do the same from the Laravel project nothing happens.
This is my Xdebug config:
[xdebug]
zend_extension="xdebug.so"
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.client_port=9003
xdebug.discover_client_host=1
php -v
PHP 8.1.0 (cli) (built: Nov 28 2021 01:33:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
If I try for example creating a breakpoint in my controller and running my project on the browser with the Xdebug extension enabled nothing happens.
Also, if I create a breakpoint in a model and try to do php artisan tinker and trigger it nothing happens either.
I am wondering what could I be missing.
Related
Trying to install Xdebug so I can debug PHP with VS Code, followed the instructions of the page step by step, reference Xdebug wizard.
Download php_xdebug-3.1.6-8.1-vs16-x86_64.dll
Move the downloaded file to \xampp\php\ext, and rename it to php_xdebug.dll
Update C:\xampp\php\php.ini and add the line:
zend_extension = xdebug
Restart the Apache Webserver
To verify correct installation run cmd and type php -v, output should list Xdebug installed:
PHP 7.4.10 (cli) (built: Aug 18 2020 09:37:14) ( NTS DEBUG )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.10-dev, Copyright (c), by Zend Technologies
with Xdebug v3.0.0-dev, Copyright (c) 2002-2020, by Derick Rethan
Installation is trivial, I don't have cloned .ini files, I'm getting the right dll from the page, I'm restarting Apache, my renameing of the dll is right. I don't know what is going on, my output from cmd is:
C:\Users\User>php -v
PHP 8.1.13 (cli) (built: Nov 22 2022 15:49:14) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.13, Copyright (c) Zend Technologies
My PHP version is: 8.1.12
Also tried changing the ini file to
;zend_extension="c:\xampp\php\ext\php_xdebug.dll"
which is the actual path where the dll is located. Also my PHP is TS, so is the file it's downloading from the wizard. Any hints?
As #aynber said in a comment, semicolon is used for indicating comments and therefore the line
zend_extension="c:\xampp\php\ext\php_xdebug.dll"
is not processed
I've recently had to swap over to a MacOS for development. Previously I had Xdebug running fine and it's such a massive help that I want to use is again.
I followed the Mac/homebrew instructions here: https://xdebug.org/docs/install#pecl with some more information that I found here: https://xdebug.org/docs/install#configure-php
php -v:
Cannot load Xdebug - it was already loaded
PHP 7.4.27 (cli) (built: Dec 16 2021 18:02:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
In my php.ini (I double checked that it was the correct one) I appended
zend_extension=xdebug
I am running my site on a docker setup, and am using PhpStorm, here are the settings:
I have the Xdebug extension installed in Chrome and have made sure that PhpStorm is listening. However, when I put a breakpoint in my home controller and navigate to that page, the page loads without any breakpoints being hit.
phpinfo() also shows that xdebug is loaded:
I've noticed that the xdebug version shown in the phpinfo dump does not match the version of xdebug I downloaded and installed:
I am working on a project and I want to use Xdebug. So far, so good.
But I don't get that darn thing working and it is stressing me out (and also my colleagues)
I am using Laravel Homestead/Vagrant with PhpStorm as IDE. The Homestead VM is a Ubuntu VM (18.04.1 LTS)
The steps I've taken to install Xdebug.
I've to install xdebug on my Vagrant VM, it is also loaded when you start PHP and compiled with it.
php --ini
...
/etc/php/7.2/cli/conf.d/20-sysvshm.ini,
/etc/php/7.2/cli/conf.d/20-tokenizer.ini,
/etc/php/7.2/cli/conf.d/20-wddx.ini,
> /etc/php/7.2/cli/conf.d/20-xdebug.ini, <
/etc/php/7.2/cli/conf.d/20-xmlreader.ini,
/etc/php/7.2/cli/conf.d/20-xmlwriter.ini,
/etc/php/7.2/cli/conf.d/20-xsl.ini,
/etc/php/7.2/cli/conf.d/20-zip.ini,
/etc/php/7.2/cli/conf.d/25-memcached.ini,
...
php -v
PHP 7.2.13-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 7 2018 08:07:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.13-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
with blackfire v1.24.0~linux-x64-non_zts72, https://blackfire.io, by Blackfire
I've been to File / Settings / Languages & Frameworks / PHP
This is the settings of my CLI Interpreter
This is the settings of Debug
And this is my config file
zend_extension=/usr/lib/php/20170718/xdebug.so
xdebug.idekey="PHPSTORM"
xdebug.remote_enable=1
xdebug.default_enable=1
xdebug.remote_connect_back=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.max_nesting_level=300
xdebug.scream=0
xdebug.cli_color=1
xdebug.show_local_vars=1
How can I solve the problem that when I try to go to my website, the debugger does not work (PhpStorm is listening to incoming connections and I am using a Firefox plugin for Xdebug)
Just installed Eclipse-Juno and the associated PHP Development Tools (PDT) SDK from org.eclipse.php.sdk.feature.group.
php --version yields:
PHP 5.4.8-1~precise+1 (cli) (built: Oct 29 2012 14:58:46)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.0, Copyright (c) 2002-2012, by Derick Rethans
Php -m indicates that xdebug is loaded.
[Zend Modules]
Xdebug
In eclipse, Windows->Preferences->Php->Debug->PHP Debubber is Xdebug.
However, none of my breakpoints hit.
What should I check to make debug breakpoints work for PHP on Eclipse-Juno?
I suppose, you are calling your scripts from a web browser. You need to tell xdebug to actually stop on breakpoints. If you are using Firefox, you can use easyXdebug for that. Make sure to enable remote debug in your xdebug.ini (explained in the extension preferences) and also in eclipse (Windows->Preferences->Php->Debug->PHP Debugger->Config). Then you can enable debug by clicking the little icon in your browser status bar for the next request.
For other browsers there should be Plugins as well, but I haven't used any.
I am trying to load XDebug & ionCube loader simultaneously, when I type zend_extension_ts="path/to/ioncube_loader_win_5.2.dll" or zend_extension_ts="path/to/php_xdebug.dll" alone in php.ini they work. But I cant get them working simultaneously. Is there any way I can load them both ?
I was thinking if I can load them only for particular directory/project, I don't know if it is possible.
Xdebug is not compatible with ioncube: http://xdebug.org/docs/install#compat You can not have them both installed in the same server environment, so you'll have to set-up two server instances (or use lighttpd/nginx with two fast-cgi configurations) as I have described here: http://derickrethans.nl/multiple-php-versions.html
I have installed ionCube successfully on the top of Zend debugger without running into any issues,
To Install ionCube, I have downloaded the zip file for my OS from here
then I ran the localhost/ioncube/loader-wizard.php, it will tell you step by step what to do, for me because I have windows and wamp server I had to insert the ioncube folder in
C:\wamp\bin\apache\apache2.4.9\bin\
here is the php version and explanation:
PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
I saw in other stackoverflow post mentioned by Arte Arefjev that the zend_extention of ioncube should be the first one to load so I did this:
zend_extension = "C:/wamp/bin/apache/apache2.4.9/bin/ioncube/ioncube_loader_win_5.5.dll"
zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
all my debugger and at the same time my ioncube is working fabulous!
Hope it will help someone in the future.
For me it seems to work with php 5.3.10 as it says
with the ionCube PHP Loader v4.2.1, Copyright (c) 2002-2012, by ionCube Ltd., and
with Xdebug v2.2.0rc1, Copyright (c) 2002-2012, by Derick Rethans
but i havent tested debugging with files containing ioncube encoded content yet.