composer在xdebug开启的情况下会有一个warning

    xiaoxiao2021-03-26  20

    在我们使用 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 文件后,分两种情况讨论:

    第一种情况: xdebug 存在 php.ini 中

    如果可以在 php.ini 找到 xdebug 的配置的话(注意替换 xdebug 的真实路径):

    zend_extension="/your/path/to/xdebug.so"

    在找到的情况下,我们不可以简单的注释掉这一行,如果注释掉的话,我们在使用 phpunit 的时候有不能使用 xdebug 了,所以在这里,我们什么都不用修改,直接退出。

    第二种情况:xdebug 存在 php.ini 中

    在这种情况下,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 这个配置文件。

    转载请注明原文地址: https://ju.6miu.com/read-660618.html

    最新回复(0)