PHP composer xdebug warning

后端 未结 6 1148
傲寒
傲寒 2021-01-31 04:24

New to PHP. Working on a PHP project and have xdebug enabled to be able to debug my php applications. The production server does not have xdebug enabled because it is handled by

6条回答
  •  长发绾君心
    2021-01-31 05:11

    I do not want to disable xdebug when I am developing. Just wanted to confirm that running xdebug in dev environment should have no impact on the composer installing libraries/performance of the app on the production server.

    There is a huge impact of just loading Xdebug. It slows the Composer run down by 3x or 4x, even when the profiling feature is not enabled.

    In other words: xdebug is invaluable for debugging, but increases the memory used and processing time of Composer.


    How to disable Xdebug for Composer runs?

    My suggestion is to write a little invocation helper for running Composer.

    The helper is a bash or batch script calling PHP with a custom php.ini, especially configured for Composer. Lets call it: php.ini-composer.

    You could copy your current php.ini and adjust it for the Composer run, by removing xdebug or commenting it out, like so: ;zend_extension = "/path/to/my/xdebug.so".

    While you are at it: setting memory_limit=-1 is helpful, too.

    The full command looks like so on Windows: php.exe -c php.ini-composer composer.phar %*

    Just clone the idea for a bash script.


    And you may find the full answer to your question in the Composer FAQ.

    https://getcomposer.org/doc/articles/troubleshooting.md#xdebug-impact-on-composer

    It was added/updated just a few hours ago.


    Some alternatives (instead of using seperate ini file) are also mentioned here.

提交回复
热议问题