8
我在Mac OS上使用XAMPP,試圖使用PHPUnit的代碼覆蓋率檢查,這需要XDebug。該xdebug.so文件帶有XAMPP所以我已經啓用Xdebug的是PHP:安裝Xdebug for PHP CLI
// /Applications/XAMPP/xamppfiles/etc/php.ini
[xdebug]
zend_extension="/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable=1
現在,當我從Web服務器檢查,有來自phpinfo()
輸出內的Xdebug的部分。
但是,當我試圖檢查代碼覆蓋率我得到一個錯誤:
$ phpunit --coverage-html report
PHPUnit 3.7.31 by Sebastian Bergmann.
The Xdebug extension is not loaded. No code coverage will be generated.
我覺得CLI使用不同php.ini
比Apache。爲了找到這php.ini
文件CLI是用我這樣做:
$ php -i | grep "php.ini"
Configuration File (php.ini) Path => /etc
但沒有/etc/php.ini
所以我複製一個過來:
$ sudo cp /Applications/XAMPP/xamppfiles/etc/php.ini /etc/php.ini
現在我檢查php -m
的模塊,但沒有Xdebug的,我收到此錯誤:(檢查最後幾行)
$ php -m
Failed loading /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so: dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so, 9): Symbol not found: _zend_execute_ex
Referenced from: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
Expected in: flat namespace
in /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
[PHP Modules]
bcmath
bz2
...
這裏是my php.ini
file內容
你能告訴我如何爲PHPUnit和CLI啓用Xdebug嗎?
奇怪的是,最後一個錯誤看起來像一個二進制不兼容,但。 – arkascha
臨時解決方案:我已經將/ usr/bin/php重命名爲/ usr/bin/phpp,然後是'ln -s/Applications/XAMPP/xamppfiles/bin/php/usr/bin/php' – Eray
我從來不明白爲什麼人們使用這些xampp軟件包。我看到這個設置有很多問題,我非常懷疑xampp真的讓事情變得更簡單。看起來好像有一個單一的軟件包可以提供基本Web開發所需的全部功能。但它一次又一次地表明,使用由正常分發資源提供的軟件包會產生較少的問題,因爲它們可以更好地集成到系統中。這就是說我必須指出,這些好處不適用於MS-Windows或MaxOSX用戶,因爲這些系統沒有這種優雅的概念。 – arkascha