When I installed Xdebug through pecl
, it added the following line to my php.ini file.
extension="xdebug.so"
and everything I used worked. Until today.
Today I was having trouble setting up Xdebug for interactive debugging. I couldn't get anything working until I changed the above to
zend_extension="/usr/local/lib/php/extensions/xdebug.so"
(Caveat: I think this is what got me working, but I'm not 100% sure)
This raised the question in my mind. What's the difference in loading an extension via extension=
vs. zend_extension
?
At the core of the PHP language (more like the interpreter, because a language is just a specification) is a software (interpreter, bytecode compiler) called "Zend Engine" developed by Zend.
Every module which messes with this core should be installed as a "zend_extension".
And yet, to solve your problem, ignore this attempt at explanation and consult the docs of the extension you're configuring - http://www.xdebug.org/docs/install.