As a follow up to my previous post about debugging php I slightly changed the process and installed XDebug instead of Zend Debugger. This was mainly so that I could generate nice code coverage reports for my unit tests–and it was easy to setup.
To install xdebug all I had to do was:
% port install php5-xdebug
and then I edit my previous ini file to use xdebug instead:
zend_extension=/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so xdebug.remote_enable=on xdebug.default_enable=on xdebug.remote_autostart=on xdebug.remote_host=127.0.0.1,192.168.0/24,10.37.129.2,10.211.55.2
The only other change was that I selected
XDebug instead of
Zend Debugger as the engine in the debug profile I had previously setup in Zend Studio.
With XDebug, the debugging in Zend Studio is the same however I can now generate nice code coverage reports for my PHPUnit tests:
phpunit --coverage-html ./report MyTests.php
The report lets you view each individual file that was included in the execution:
Note: if you’re using this you may want to increase the memory assigned to your command line PHP ini file. The report generation is a memory hog so I bumped mine to 512MB just to be safe.