在我们使用 Composer 的时候,经常会遇到下面的一个 warning
说我们的性能由于 xdebug 的原因变得慢了很多,据说是或慢 3~4 倍。本来一个 warning 的话,是可以假装看不见,然后直接无视的。但是还是解决掉好一些,下面来看看具体的解决方案:此解决方案具体在 mac php7.0 的环境上实际操作并解决了,其它环境未测试^^
第一步,找到你的 php.ini 文件,命令行执行:
php -i | grep "php.ini"这个时候,应该就可以看到你的 php.ini 的配置文件路径,大概是这样的:
Configuration File (php.ini) Path => /usr/local/etc/php/7.0 Loaded Configuration File => /usr/local/etc/php/7.0/php.ini如果是 php5.6 的版本,大概在 /usr/local/etc/php/5.6/php.ini ,在这个配置文件里面,
找到 php.ini 文件后,分两种情况讨论:
如果可以在 php.ini 找到 xdebug 的配置的话(注意替换 xdebug 的真实路径):
zend_extension="/your/path/to/xdebug.so"在找到的情况下,我们不可以简单的注释掉这一行,如果注释掉的话,我们在使用 phpunit 的时候有不能使用 xdebug 了,所以在这里,我们什么都不用修改,直接退出。
在这种情况下,xdebug 的配置 通常在下面的目录:
/usr/local/etc/php/7.0/conf.d/ext-xdebug.ini里面大概有这样一行:
zend_extension="/usr/local/opt/php70-xdebug/xdebug.so"所以在这个时候,我们需要做的是:把 ext-xdebug.ini 的配置注释掉:
;zend_extension="/usr/local/opt/php70-xdebug/xdebug.so" ; 注意这个配置是在 ext-xdebug.ini 文件中的。注释之后,再将 zend_extension="/usr/local/opt/php70-xdebug/xdebug.so" 复制到 php.ini 的配置文件底部,(其实我们就是在重现第一种情况),复制之后,就可以参照第一种情况了。
两种情况说完,下面可以统一执行
命令行执行:
cd /usr/local/etc/php/7.0 cp php.ini php-composer.ini得到复制的 php-composer.ini 文件之后,打开 php-composer.ini 文件,再次找到:
;zend_extension="/your/path/to/xdebug.so" ;我们在这里直接添加一个 ; 号,注释掉 xdebug这样我们的前期工作就完成了。
然后,添加 alias,在你的 ~/.bash_profile 或者 ~/.bashrc 中的 alias 部分,添加下面这个 alias:
注意:composer的路径应该是你自己的composer路径,可以使用which composer查看
alias composer="php -c php-composer.ini /usr/local/bin/composer"这样,我们在执行 composer 命令的时候就是使用到 php-composer.ini 这个配置文件。
