问题
I've got xdebug installed fine (showing up in phpinfo()) but I'm trying to get it to work with PHPUnit's code coverage functionality. It keeps telling me "The XDebug extension is not loaded". I've got phpunit working fine with WAMP. When i run php -m i don't see xdebug listed in neither php modules nor zend modules which points as to why phpunit is not find the xdebug extension
Does anyone have any idea of this problem?
My detailed configuration is as follows: Windows 7 php 5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0
Thanks, Krishnen
回答1:
Does WAMP have a different config file for the CLI and Apache? I use Ubuntu personally, but a quick google got me to this WAMP FAQ
HTH.
回答2:
perform php --ini to check witch config file is loaded.
if you have something like this :
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Just copy your php.ini in windows directory ;)
回答3:
Type php --ini
on cmd and go to the php.ini file shown.
This php.ini need to have XDEbug configuration...
Mine is:
[XDebug] ; Only Zend OR (!) XDebug zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll ; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP xdebug.remote_handler=dbgp xdebug.profiler_enable=1 xdebug.profiler_output_dir="c:\wamp\xdebug" xdebug.var_display_max_depth = 10 xdebug.var_display_max_data = 2048
(please consider the breaking lines)
回答4:
Thanks to all who answered. I repeated the procedure on a ubuntu workstation.This time i compiled everything from source.Everything worked to perfection and am now able to run the phpunit with coverage. This must be a windows specific issue.I'll just use a linux box for this process. Anyone having issues to setup xdebug on linux, i'll be glad to help!
回答5:
- open php.ini.
- look for ;zend_extension
- remove ; at the beginning of ;zend_extension to enable it
- Be sure value of zend_extension is the right directory for the php_xdebug.dll
回答6:
You need to create two symlinks:
- c:\php is a symlink to your current php folder
- c:\windows\php.ini is a symlink to your current php.ini file
To create a symlink in windows use mklink command
e.g.
- mklink /D c:\php c:\path\to\your\php folder makes a symlink to directory
- mklink c:\windows\php.ini c:\path\to\your\php\php.ini makes a symlink to file
It seems in windows somehow phpunit doesnt see actual paths and with that symlinks you create virtual default paths for it
来源:https://stackoverflow.com/questions/3822882/the-xdebug-extension-is-not-loaded