Reputation: 1169
I have installed Xdebug on a Ubuntu 20.04 system. I followed this documentation , which I found to be quite well written, and got everything installed per the specs. (I used apt rather than yum, and placed the .so file into /usr/lib/php/20190902
folder rather than the document's example.)
In that document, there is a reference to adding to the php.ini file (I added to /etc/php/7.4/apache2/php.ini
and /etc/php/7.4/cli/php.ini
files). Since the article doesn't specifically mention "sections" of the .ini file, I put them within the [PHP]
section. (This is consistent with the remark about putting right before the Quick Reference bit.) I restarted Apache2 and the phpinfo()
output now includes Xdebug, which it did not include before. All well and good.
The trouble I'm having is that although I set xdebug.mode = debug
in the php.ini files, the phpinfo()
output tells me that xdebug.mode
is set to develop
. Consequently, Step debugger shows as Disabled in my configuration. I cannot see why.
These are the lines I've added to each of those php.ini files:
zend_extension="/usr/lib/php/20190902/xdebug.so
xdebug.mode = debug
xdebug.discover_client_host = 1
xdebug.start_with_request = yes
And here are the key excerpts from the phpinfo()
output:
On a whim, I tried placing all of those settings also within a new section of php.ini which I called [xdebug]
. When that didn't work, I tried [Xdebug]
. I restarted Apache2 after each attempt, but the symptom never changed.
What might I be missing?
Upvotes: 2
Views: 7068
Reputation: 197
I'm here to help anyone with Xdebug on a Windows system and PHP 7.4 installed. Can try to set the php.ini as shown below. Can see my xdebug extension is called php_xdebug.dll inside this folder C:\xampp\php\ext\
xdebug.remote_autostart = 0
xdebug.mode = debug
xdebug.start_with_request = yes
zend_extension = C:\xampp\php\ext\php_xdebug.dll
xdebug.stopOnEntry = true
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.output_dir ="c:\xampp\tmp"
xdebug.show_local_vars=0
xdebug.remote_handler = "dbgp"
xdebug.client_host = "127.0.0.1"
xdebug.log = "C:\xampp\tmp\xdebug.txt"
xdebug.client_port = 9000
xdebug.remote_cookie_expire_time = 36000
*Extras for the visual studio code user. Make sure the port inside the configuration is the same as the one that you set.
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 0,
"runtimeArgs": [
"-dxdebug.start_with_request=yes"
],
"env": {
"XDEBUG_MODE": "debug,develop",
"XDEBUG_CONFIG": "client_port=${port}"
}
},
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"localhost:0"
],
"program": "",
"cwd": "${workspaceRoot}",
"port": 9000,
"serverReadyAction": {
"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
}
]
}
Upvotes: -2
Reputation: 36784
zend_extension="/usr/lib/php/20190902/xdebug.so
(that has an extra "
).
In any case, it is very likely that there is either another xdebug.mode
line somewhere, or a different INI file is being used. Try to see what the output of xdebug_info()
tells you — it also mentions which INI files have been read.
Upvotes: 3