I have a problem with Xdebug on Mac OS using Big Sur. Below, I will explain what is happening.
- When I run
phpinfo()
– I don’t see a Xdebug section at all. - When I run commands such as
xdebug_call_file()
it throws aPHP Fatal error: Uncaught Error: Call to undefined function
error.
Here are all the configurations:
php -v
:
PhpStorm shows that Debugger is active:
php.ini
(/usr/local/etc/php/8.0/php.ini) has these configurations:
[xdebug] zend_extension="xdebug.so" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port="9003"
PhpStorm is not detecting Xdebug to set the interpreter:
Does anyone know what might be the issues with Xdebug not showing up?
Advertisement
Answer
The error that you will get when develop
is not part of the xdebug.mode
setting is:
Warning: Function must be enabled in php.ini by setting ‘xdebug.mode’ to ‘develop’
As you get the “Call to undefined function” error, that means that Xdebug is not loaded in your web server environment. It is often that the web server environment has a different INI file.
In order to see if Xdebug is loaded, and which INI files PHP has read, you can use use phpinfo()
in a PHP script requested through a browser. This will also show whether Xdebug is loaded. If it does, you can use xdebug_info()
to check its settings.
PhpStorm’s “Interpreter Check” also only checks the command line, and not the web server version of PHP.