如何在没有 xdebug 的情况下 运行 composer(当使用 homebrew 安装时)
How to run composer without xdebug (when installed with homebrew)
如果您安装了 PHP & composer w/ homebrew 并启用了 xdebug,您可能会看到以下错误:
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
有 open issue on homebrew-php 但还没有官方决议。也就是说,有一个临时修复(见下文)。
临时修复:
1。在您选择的编辑器中打开 /usr/local/bin/composer
。
2。使用以下内容更新此文件:
#!/usr/bin/env bash
TEMP_PATH="$( mktemp --tmpdir --suffix=.ini -t php-no-debug.XXXXXXX )"
FILES="$( /usr/bin/env php -r 'echo php_ini_loaded_file() . "\n" . str_replace(",","", php_ini_scanned_files());' )"
cat $FILES | sed '/xdebug/d' > "$TEMP_PATH"
/usr/bin/env php -n -c "$TEMP_PATH" -d allow_url_fopen=On -d detect_unicode=Off /usr/local/Cellar/composer/1.1.1/libexec/composer.phar "$@"
rm -f "$TEMP_PATH"
您需要将 /usr/local/Cellar/composer/1.1.1/libexec/composer.phar
替换为您现有的 /usr/local/bin/composer
文件中的路径(它会根据您的作曲家版本而有所不同安装)。
希望下次更新 composer 时会有官方修复。否则,您必须在每次更新后重新应用此更改。
对于好奇: 这通过创建一个临时文件,将现有 php.ini
和所有包含的 ini
文件的内容复制到其中,但排除包含 xdebug
的任何行,然后将新文件用于作曲家。 composer 完成后 运行,该文件将被删除。
如果您安装了 PHP & composer w/ homebrew 并启用了 xdebug,您可能会看到以下错误:
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
有 open issue on homebrew-php 但还没有官方决议。也就是说,有一个临时修复(见下文)。
临时修复:
1。在您选择的编辑器中打开 /usr/local/bin/composer
。
2。使用以下内容更新此文件:
#!/usr/bin/env bash
TEMP_PATH="$( mktemp --tmpdir --suffix=.ini -t php-no-debug.XXXXXXX )"
FILES="$( /usr/bin/env php -r 'echo php_ini_loaded_file() . "\n" . str_replace(",","", php_ini_scanned_files());' )"
cat $FILES | sed '/xdebug/d' > "$TEMP_PATH"
/usr/bin/env php -n -c "$TEMP_PATH" -d allow_url_fopen=On -d detect_unicode=Off /usr/local/Cellar/composer/1.1.1/libexec/composer.phar "$@"
rm -f "$TEMP_PATH"
您需要将 /usr/local/Cellar/composer/1.1.1/libexec/composer.phar
替换为您现有的 /usr/local/bin/composer
文件中的路径(它会根据您的作曲家版本而有所不同安装)。
希望下次更新 composer 时会有官方修复。否则,您必须在每次更新后重新应用此更改。
对于好奇: 这通过创建一个临时文件,将现有 php.ini
和所有包含的 ini
文件的内容复制到其中,但排除包含 xdebug
的任何行,然后将新文件用于作曲家。 composer 完成后 运行,该文件将被删除。