2

I have a problem with Xdebug on Mac OS using Big Sur. Below, I will explain what is happening.

  1. When I run phpinfo() - I don't see a Xdebug section at all.
  2. When I run commands such as xdebug_call_file() it throws a PHP Fatal error: Uncaught Error: Call to undefined function error.

Here are all the configurations:

php -v:

enter image description here

PhpStorm shows that Debugger is active:

enter image description here

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:

enter image description here

Does anyone know what might be the issues with Xdebug not showing up?

LazyOne
  • 158,824
  • 45
  • 388
  • 391

2 Answers2

3

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.

Derick
  • 35,169
  • 5
  • 76
  • 99
0

develop: Enables Development Helpers including the overloaded var_dump(). https://xdebug.org/docs/all_settings#mode

xdebug.mode=debug,develop

WinterSilence
  • 413
  • 3
  • 15
  • Thanks for the recommendation, but it looks like it doesn't do much, unless php/nginx/apache have to be restarted after updating php.ini –  Jan 27 '22 at 05:55
  • @user17997251 it's right solution, restart http server – WinterSilence Jan 27 '22 at 05:59
  • This is not the right answer, as the error message is different if `develop` isn't part of the `xdebug.mode` settings. – Derick Jan 27 '22 at 09:39