但是 Composer 對於 PHP 的專案來說, 又是扮演著超級重要的角色, 但若是 XDebug 開啟又會造成它的效率不佳的問題
在試過無數種的方法後, 目前覺得最佳的方案是用 Command Alias 是最簡單的
XDebug 在 php.ini 的設定
php.ini 的 [xdebug] 設定區塊照舊, 完全保留設定, 也就是預設是啟用 XDebug
[xdebug]
zend_extension="/path/to/php_xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=1
專為 Composer 而設定的命令
Composer 網站也提供了幾個方式: Xdebug impact on Composer
在此我採用指定不包含 xdebug 的 php.ini 設定的方式來執行 composer
(在此另命名為 xdebug-disabled-php.ini)
在執行 composer 仍會需要 openssl, 所以還是需要額外指定 php 的設定檔
Mac - Bash 設定
Mac 上可以放在 ~/.bash_profile, 或是另開 ~/.bash_aliases 統一管理
1. 不用 php.ini 設定
alias cps='php -n /usr/local/bin/composer.phar'
2. 設定指定的 php.ini 檔案路徑 (不包含 Xdebug 設定)
alias cps='php -c /path/to/xdebug-disabled-php.ini /usr/local/bin/composer.phar'
[更新: Mac 可直接不採用 php.ini 設定檔建立專案而不報錯 (因已有 openssl 內建)]
Windows - PowerShell 設定
在 %USERPROFILE%/profile.ps1 加上
function RunComposer { Invoke-Expression "php -c C:\php\xdebug-disabled-php.ini C:\php\composer.phar $args" }
Set-Alias cps RunComposer
[注意: Windows 一定要設定 xdebug-disabled-php.ini 的路徑]
執行結果
命令只要打上 cps 就等同於執行 php composer ... 卻又沒有 XDebug 的糾結困擾
而且指令簡短許多, 又可依自己喜歡的命名方式來取
沒有留言:
張貼留言