Tắt xdebug khi chạy trình soạn nhạc


98

Khi chạy composer diagnose, tôi gặp lỗi sau:

Phần mở rộng xdebug được tải, điều này có thể làm chậm Composer một chút. Nên tắt nó khi sử dụng Composer.

Làm cách nào để chỉ vô hiệu hóa xdebug khi tôi đang chạy Composer?

Câu trả lời:


81

Cập nhật : Sự cố đã được khắc phục trong Composer 1.3 . Cập nhật trình soạn nhạc lên phiên bản mới nhất bằng cách thực thi composer self-update, thay vì thử cách giải quyết sau.


Đây là sửa đổi của tôi về mã của @ ezzatron. Tôi đã cập nhật tập lệnh để phát hiện các tệp ini từ đầu ra phpinfo.

#!/bin/sh

php_no_xdebug () {
    temporaryPath="$(mktemp -t php.XXXX).ini"

    # Using awk to ensure that files ending without newlines do not lead to configuration error
    php -i | grep "\.ini" | grep -o -e '\(/[a-z0-9._-]\+\)\+\.ini' | grep -v xdebug | xargs awk 'FNR==1{print ""}1' | grep -v xdebug > "$temporaryPath"

    php -n -c "$temporaryPath" "$@"
    rm -f "$temporaryPath"
}

php_no_xdebug /usr/local/bin/composer.phar $@
# On MacOS with composer installed using brew, comment previous line
# Install jq by executing `brew install jq` and uncomment following line.
# php_no_xdebug /usr/local/Cellar/composer/`brew info --json=v1 composer | jq -r '.[0].installed[0].version'`/libexec/composer.phar $@

3
Đây là giải pháp tốt nhất cho vấn đề, IMHO. Cảm ơn Joyce!
Thomas Hansen

2
Tốt. Kịch bản. Kể
Maciej Paprocki

1
Tôi đã phải điều chỉnh shebang bin/bashthay vì /bin/sh, vì sau này không thích functiontừ khóa (Ubuntu 14.04 LTS).
ashnazg

Tôi đã cập nhật mã và loại bỏ từ khóa chức năng, để tương thích tốt hơn.
Joyce Babu

1
Bạn có thể xác nhận rằng bạn đang chạy phiên bản mới nhất bằng cách chạycomposer self-update
Joyce Babu

77

Lệnh này sẽ vô hiệu hóa mô-đun PHP5 Xdebug cho CLI (và do đó là trình tổng hợp):

sudo php5dismod -s cli xdebug

Nó loại bỏ liên kết tượng trưng xdebug.ini khỏi/etc/php5/cli/conf.d/

Điều này đã được đề xuất trên http://blog.lorenzbausch.de/2015/02/10/php-disable-xdebug-for-cli/

Lưu ý rằng đối với Ubuntu 16.04, bạn có thể cần chạy nó như sau:

sudo phpdismod -s cli xdebug

4
Tôi đã thêm hai bí danh alias xdebug-on='sudo php5enmod -s cli xdebug'alias xdebug-off='sudo php5dismod -s cli xdebug', vì vậy bây giờ thật dễ dàng để bật xdebug-onvà tắt xdebug-offxdebug.
Daniel Mecke

Không di động. Có lẽ chỉ dành cho Linux.
Diti

Hoạt động tốt trên hộp Laravel Homestead (Ubuntu / Debian). Mô tả dài hơn về cách nó hoạt động: laracasts.com/discuss/channels/forge/disable-xdebug
Justin

2
nhờ cho điều này :) nhưng tôi có ubuntu 16.04 và nếu ai đó sẽ cần phải sử dụng này chỉ cần chạy sudo -s phpdismod cli Xdebug
Thiên thần M.

Còn về php7 trong ubuntu thì sao? Tôi chỉ cần xóa liên kết biểu tượng? /etc/php/7.0/cli/conf.d
gastonnina

40

Tôi không nghĩ rằng có một tùy chọn để định cấu hình PHP để nó có thể tải các cấu hình khác nhau theo tập lệnh được nhắm mục tiêu. Ít nhất, không phải là không sao chép các tệp .ini ...

Tuy nhiên, bạn có thể thêm các tùy chọn thoses khi chạy trình soạn nhạc với php:

php -n -d extension=needed_ext.so composer.phar

-nsẽ yêu cầu PHP bỏ qua bất kỳ php.ini nào. Điều này sẽ ngăn xdebug tải cho chính lệnh này.

-dtùy chọn cho phép bạn thêm bất kỳ tùy chọn nào bạn muốn (đối với exemple, kích hoạt need_ext.so). Bạn có thể sử dụng nhiều -dtùy chọn. Tất nhiên, đây là tùy chọn, bạn có thể không cần.

Sau đó, bạn có thể tạo một bí danh để làm cho nó có đường trở lại.

Một giải pháp điển hình (vì nhà soạn nhạc cần json):

php -n -d extension=json.so composer.phar

greg0ire> giải pháp của tôi, dựa trên đó:

#!/bin/bash
options=$(ls -1 /usr/lib64/php/modules| \

    grep --invert-match xdebug| \

    # remove problematic extensions
    egrep --invert-match 'mysql|wddx|pgsql'| \

    sed --expression 's/\(.*\)/ --define extension=\1/'| \

    # join everything together back in one big line
    tr --delete '\n'
)

# build the final command line
php --no-php-ini $options ~/bin/composer $*

alias composer=/path/to/bash/script.sh

Nó trông xấu xí (tôi đã thử và không làm được điều đó với xargs), nhưng hoạt động… Tuy nhiên, tôi phải tắt một số tiện ích mở rộng, nếu không tôi nhận được các cảnh báo sau:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - /usr/lib64/php/modules/mysqli.so: undefined symbol: mysqlnd_connect in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - /usr/lib64/php/modules/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_pgsql.so' - /usr/lib64/php/modules/pdo_pgsql.so: undefined symbol: pdo_parse_params in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/wddx.so' - /usr/lib64/php/modules/wddx.so: undefined symbol: php_XML_SetUserData in Unknown on line 0

Tôi đã thử -nngày hôm qua và gặp sự cố vì tôi thiếu phartiện ích mở rộng. Tôi sẽ thử thêm nhiều tiện ích mở rộng khác cho đến khi nó hoạt động, tôi nghĩ đây là một giải pháp tốt. Theo bí danh, tôi đã có một số bí danh zsh mà tôi không duy trì. Có lẽ tôi sẽ cố gắng thay thế nhị phân bằng một tập lệnh bash hoặc xem liệu tôi có thể định cấu hình bí danh hay không.
greg0ire

Tuy nhiên, vấn đề với cách tiếp cận danh sách trắng này là danh sách trắng có thể phát triển tùy thuộc vào những gì mọi người yêu cầu trong của họ composer.json, ví dụ: "ext-ldap": "*" hoặc đơn giản là tùy thuộc vào những gì cần thiết để làm cho các tác vụ cài đặt bài đăng chạy đúng cách ... Nếu chỉ có một cách để danh sách đen một phần mở rộng ...
greg0ire

1
Tôi sẽ cố gắng làm điều gì đó với sản lượngphp -m
greg0ire

Nó xuất hiện trong tâm trí tôi, nhưng tôi giả sử bạn sử dụng xdebug trong môi trường phát triển. Có phải nhà soạn nhạc quá chậm nên cần điều chỉnh này không?
Gui-Don

Ồ không, tôi chỉ thấy điều này từ đầu ra của diagnose, và kể từ khi tôi đang xây dựng container Docker phát triển cho đội của tôi, việc cải thiện tốc độ nhỏ nhất có thể mang lại lợi ích cho tất cả trong số họ
greg0ire

14

Bằng cách tạo một bí danh, bạn sẽ ngăn chặn điều đó composer xdebug báo lỗi .

Chỉ cần thêm dòng này vào ~/.bash_aliasestrong hệ thống của bạn và nó sẽ hoạt động hoàn hảo.

alias composer="php -n /usr/local/bin/composer"

Tải lại shell để composercung cấp bí danh mới .

source ~/.bash_profile

SỬ DỤNG:

$ composer --version

LƯU Ý:
Bạn không nhất thiết phải sử dụng bất kỳ tham số nào khác.
Tùy thuộc vào hệ thống của bạn, bạn có thể có một .bashrcthay thế .bash_profile.

CẬP NHẬT:

Như @AlexanderKachkaev đã đề cập trong các nhận xét, không có gì đáng để thêm memory_limit như sau để tránh bị rơi vào một số tình huống:

alias composer="php -d memory_limit=-1 -n /usr/local/bin/composer"

3
Điều này sẽ không hoạt động tốt ngay khi cần một trong các tiện ích mở rộng trong tập lệnh đăng cài đặt hoặc đăng cập nhật… mặc dù có thể là một giải pháp tốt cho các dự án đơn giản.
greg0ire

1
Các -ntùy chọn vô hiệu hóa Pharphần mở rộng để nó có thể thất bại để chạy từcomposer.phar
brzuchal

1
Điều này đã làm việc cho tôi. Ngoài ra, tôi giới hạn bộ nhớ tàn tật để tránh va đập:alias composer="php -d memory_limit=-1 -n /usr/local/bin/composer"
Alexander Kachkaev

Giải pháp này khá đơn giản và khả thi đối với tình huống của tôi. Đề xuất giới hạn bộ nhớ từ @AlexanderKachkaev là bắt buộc. Hãy tốt để chỉnh sửa câu trả lời.
Henry

12

Tôi đã đưa ra một câu trả lời hoạt động khá tốt cho OSX và có thể được điều chỉnh cho bất kỳ phiên bản PHP nào tải các phần mở rộng của nó bằng cách sử dụng các tệp .ini riêng lẻ trong "ini dir bổ sung":

#!/bin/sh

function php-no-xdebug {
    local temporaryPath="$(mktemp -t php-no-debug)"

    find /opt/local/etc/$1/php.ini /opt/local/var/db/$1/*.ini ! -name xdebug.ini | xargs cat > "$temporaryPath"
    php -n -c "$temporaryPath" "${@:2}"
    rm -f "$temporaryPath"
}

alias composer="php-no-xdebug php56 ~/bin/composer"

Tuyệt quá! Tôi tạo ra một kịch bản có mục đích chung dựa trên này cho Ubuntu 14,04-15,10 gist.github.com/perk11/816c4e64023ea26976cf
Konstantin Pereiaslov

Tuyệt vời, hoạt động tốt trên Mac OS, trên php 7.1 được cài đặt sẵn. TY!
Antonio Carlos Ribeiro

7

Tôi thường tạo một tập lệnh shell cho mỗi dự án, vì mỗi dự án đều có một phiên bản PHP khác. Đó là trong một /bin/thư mục bên cạnh composer.pharcomposer.jsonvà tôi chạy nó như./bin/composer trong thư mục dự án của tôi.

Nó trông giống như thế này (cho php56)

#!/bin/sh
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

COMPOSER_DISABLE_XDEBUG_WARN=1 /opt/local/bin/php56 \
    -d xdebug.remote_enable=0 -d xdebug.profiler_enable=0 \
    -d xdebug.default_enable=0 $DIR/../composer.phar "$@"

Các -dtùy chọn vô hiệu hóa xdebug một cách hiệu quả. CácCOMPOSER_DISABLE_XDEBUG_WARN=1 vô hiệu hóa các vấn đề về trình soạn nhạc cảnh báo.

Việc tắt phần mở rộng xdebug được ưu tiên (xem gỡ rối về trình soạn nhạc ), nhưng cá nhân tôi thích tập lệnh đơn giản hơn.

Một số thời gian trên máy của tôi: 2 Chạy với xdebug và ini được kích hoạt: 1m33

Chạy với xdebug nhưng ini bị tắt: 0m19

Chạy mà không cần xdebug: 0m10


Tôi nghĩ rằng vì bạn đang tắt XDebug, bạn không cần COMPOSER_DISABLE_XDEBUG_WARN=1: nếu bạn nhận được cảnh báo, điều đó chỉ có nghĩa là scrit của bạn không hoạt động. Việc xác định xdebug.remote_autostartdường như vô ích nếu tính năng gỡ lỗi từ xa bị tắt.
greg0ire

Bạn nói đúng về xdebug.remote_autostart. Về hiệu quả của script: Composer kiểm tra xem phần mở rộng xdebug có được tải hay không, chứ không phải nếu nó thực sự làm bất cứ điều gì, hãy xem mã ở đây . Các tùy chọn ini làm việc tốt trong các kịch bản php "thường xuyên" nhưng một lần nữa: tôi đã thực hiện không kiểm tra hiệu suất ...
Joost

(Cuối cùng) đã tìm thấy phần có liên quan trong hướng dẫn sử dụng nhà soạn nhạc về cách khắc phục sự cố này : tác động của xdebug đối với nhà soạn nhạc . Nó giải thích rằng việc tắt tất cả các tùy chọn xdebug thông qua cờ ini là không đủ để giảm thiểu các vấn đề về hiệu suất. Vì vậy, kịch bản của tôi sẽ không hoạt động. Quá tệ!
Joost

Tôi đã thực hiện một số thời gian (trên Mac OS X) và tôi phải nói rằng tôi khá hài lòng với những cải tiến hiệu suất bằng cách sử dụng tập lệnh của mình! Với tùy chọn xdebug được kích hoạt, nó mất 1m33 , với các tùy chọn bị vô hiệu hóa, nó sẽ mất 0m19 . Nếu không có phần mở rộng xdebug, nó sẽ mất 0m10 .
Joost

Ok vì vậy có một sự cải thiện dù sao. Không cải thiện có sẵn tốt nhất, nhưng sự cải thiện rất lớn dù sao (ít nhất là trên OS X)
greg0ire

6

Nếu bạn sử dụng PHPStorm, bản phát hành mới nhất (2016.2) đi kèm với tính năng bật XDebug cho các tập lệnh CLI theo yêu cầu, có nghĩa là bạn có thể chỉ cần tắt XDebug trên toàn cầu trên máy phát triển của mình. IDE sẽ kích hoạt nó ngay lập tức khi nó cần thiết bằng mã bên trong các dự án của bạn.

https://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/

PhpStorm 2016.2 giới thiệu chế độ Xdebug Theo yêu cầu, nơi bạn có thể tắt Xdebug để cài đặt PHP toàn cầu của mình và PhpStorm sẽ chỉ bật nó khi cần - khi bạn gỡ lỗi tập lệnh của mình hoặc khi bạn cần báo cáo về mức độ mã.

Bạn cần chỉnh sửa tùy chọn Trình thông dịch PHP của mình để bao gồm đường dẫn đến XDebug, như được mô tả trong bài viết được liên kết.

Đối với tôi, đây có vẻ là giải pháp hoàn hảo, vì tôi thường chỉ muốn XDebug khi tôi đang ở trong IDE.

Tuy nhiên XDebug có những cách sử dụng tiềm năng khác khi bạn ở "ngoại tuyến", ví dụ như kết xuất ngăn xếp mở rộng trong nhật ký lỗi, mà bạn sẽ mất bằng cách tắt nó trên toàn cầu. Tất nhiên, bạn không nên bật XDebug khi sản xuất, vì vậy điều này sẽ được giới hạn trong các trường hợp sử dụng như tập lệnh CLI thử nghiệm hoặc thử nghiệm tự động trong quá trình phát triển.


5

Thay vì bối rối với việc bật hoặc tắt tạm thời mô-đun PHP, khi bạn có thể có các quy trình đồng thời sử dụng PHP (ví dụ như một phần của đường ống CI), bạn có thể yêu cầu PHP trỏ đến một thư mục tải mô-đun khác.

Mặc dù điều này tương tự như một số giải pháp được đề cập ở trên, nhưng điều này giải quyết một số trường hợp cạnh, rất hữu ích khi được sử dụng bởi Jenkins hoặc người chạy CI khác chạy các thử nghiệm đồng thời trên cùng một máy.

Cách dễ nhất để làm điều này là sử dụng biến môi trường PHP_INI_SCAN_DIR

Sử dụng điều này trong một tập lệnh hoặc tác vụ xây dựng rất dễ dàng:

export PHP_INI_SCAN_DIR=/etc/php.d.noxdebug php composer install

Tất nhiên, trước tiên bạn sẽ muốn chuẩn bị /etc/php.d.noxdebug, làm những việc như:

mkdir /etc/php.d.noxdebug cp /etc/php.d/* /etc/php.d.noxdebug rm /etc/php.d.noxdebug/xdebug.ini

Điều này có nghĩa là bạn có một môi trường tương tự như môi trường php cũ, chỉ thiếu một mô-đun. Có nghĩa là bạn không cần phải lo lắng về việc cần tải các mô-đun phar / json như khi bạn làm với giải pháp php -n.


Tôi sẽ sử dụng các liên kết tượng trưng thay vì chỉ sao chép các tệp ini.
greg0ire

1
Tôi tránh sử dụng liên kết tượng trưng vì nó tạo ấn tượng là các thư mục được đồng bộ hóa, trong khi các mô-đun mới sẽ không được tự động đưa vào thư mục 'noxdebug'.
KHobbits

4

Tôi đã nghĩ ra một giải pháp cho trình cài đặt Composer dựa trên Windows - nó sẽ hoạt động cho mọi cài đặt Composer, về cơ bản nó chỉ tạo một bản sao của tệp INI đã tải và nhận xét phần mở rộng xdebug zend, sau đó tải tệp cấu hình đó khi nó chạy trình soạn .

Tôi đã mở một vấn đề để xem liệu họ có muốn tích hợp thay đổi này hay không:

https://github.com/composer/windows-setup/issues/58

Bạn có thể tìm thấy hướng dẫn và mã của tôi ở đó.


Đơn giản và hiệu quả :) Bạn có phải áp dụng lại điều này sau khi cập nhật trình soạn nhạc thông qua tự cập nhật không?
marcovtwout

4

Như đã lưu ý trong câu trả lời của Joyce , vấn đề này không còn tồn tại trong phiên bản mới nhất của Composer.

Tài liệu của Nhà soạn nhạc đã được cập nhật để lưu ý điều này . Nó hướng dẫn chi tiết cách bạn có thể kích hoạt xdebug với Composer (nếu cần).

Bạn có thể cập nhật phiên bản Composer của mình bằng cách sử dụng tính năng tự cập nhật .

Trên máy Mac của tôi, tôi phải làm: sudo php /opt/local/bin/composer self-update

Bạn có thể tìm thấy thêm chi tiết về điều này trong bối cảnh cài đặt Homebrew PHP trong số này .


Thật tuyệt! Bạn có biết PR cho sự thay đổi này là ở đâu không? Tôi cần nó trong một ứng dụng CLI khác
Tomáš Votruba

3

Thao tác trực tiếp với cấu hình PHP

Đây là đóng góp của tôi dựa trên Homebrew cài đặt PHP do cài đặt trên Mac OS X.

Đó là một trình bao bọc tập lệnh shell, được thiết kế để lưu dưới dạng tệp thực thi tại /usr/local/bin/composer, với tệp nhị phân Composer tại /usr/local/bin/composer.phar:

#!/bin/sh
sed -i '' -e 's:zend_extension="/usr/local/opt/php55-xdebug/xdebug.so":;zend_extension="/usr/local/opt/php55-xdebug/xdebug.so":' /usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
/usr/local/bin/php /usr/local/bin/composer.phar "$@"
sed -i '' -e 's:;zend_extension="/usr/local/opt/php55-xdebug/xdebug.so":zend_extension="/usr/local/opt/php55-xdebug/xdebug.so":' /usr/local/etc/php/5.5/conf.d/ext-xdebug.ini

Nguyên lý hoạt động

Tập lệnh trình bao bọc:

  • sử dụng sed để tạm thời sửa đổi tệp cấu hình, vô hiệu hóa Xdebug (dòng 2)
  • thực thi Composer, chuyển qua args đến lệnh (dòng 3)
  • sử dụng sed để khôi phục tệp cấu hình, kích hoạt lại Xdebug (dòng 4)

Tập lệnh được kết hợp với bản cài đặt OS X / Homebrew của PHP 5.5. Các đường dẫn phải được điều chỉnh để hoạt động với các phiên bản PHP khác và bố cục thư mục của hệ điều hành và trình quản lý gói khác. Cũng lưu ý rằng một số phiên bản của sed không cần đối số chuỗi rỗng theo sau -itùy chọn.

Caveat Utilitor

Tập lệnh rất đơn giản, ở chỗ nó hoạt động trực tiếp trên các tệp cấu hình PHP chính, tuy nhiên đây cũng là một nhược điểm: Xdebug cũng sẽ bị vô hiệu hóa đối với bất kỳ tập lệnh nào được thực thi đồng thời với tập lệnh này.

Trong môi trường phát triển của tôi, đây là một sự đánh đổi có thể chấp nhận được, vì Composer được thực thi theo cách thủ công và chỉ thỉnh thoảng; tuy nhiên bạn có thể không muốn sử dụng kỹ thuật này nếu thực thi Composer như một phần của quy trình triển khai tự động.


Tôi không chắc rằng nó sẽ tạo ra sự khác biệt đối với cách xử lý lỗi của Nhà soạn nhạc — bạn có một ví dụ cụ thể hoặc mối quan tâm nào không? Kịch bản được dự định như một giải pháp nhanh chóng cho vấn đề và chưa được kiểm tra kỹ lưỡng. Phải nói rằng, trong thời gian tôi đã sử dụng nó, nó đã hoạt động mà không có bất kỳ vấn đề gì.
j13k

1
Mối quan tâm của tôi là dòng cuối cùng của tập lệnh có thể không được chạy.
greg0ire

2

Trong hầu hết các trường hợp, bạn không cần xdebug trên chế độ CLI. Nếu điều này là chấp nhận được đối với bạn, bạn có thể cấu hình cli và cgi khác nhau.

Vì vậy, nếu bạn tạo php-cli.ini conf-cli.d gần thoát tệp php.ini thì bạn có thể định cấu hình cli và cgi khác nhau (đối với cgi, nó sẽ là php.iniconf.d ). Chỉ cần không đặt xdebug.ini vào conf-cli.d.


2

Nếu bạn cài đặt trình soạn nhạc bằng brew trên OS X Bạn có thể sử dụng bí danh này:

alias composer="php -n $(cat $(which composer) | grep composer.phar | awk '{print $7}')"

1

Giải pháp nhanh chóng của tôi để cài đặt macports, với nhiều phiên bản PHP là viết trình bao bọc trình bao đơn giản này cho Composer:

/user/local/bin/composer-nodebug.sh

#!/bin/bash

sudo mv /opt/local/var/db/php53/xdebug.ini /opt/local/var/db/php53/xdebug.NOT
sudo mv /opt/local/var/db/php54/xdebug.ini /opt/local/var/db/php54/xdebug.NOT
sudo mv /opt/local/var/db/php55/xdebug.ini /opt/local/var/db/php55/xdebug.NOT
composer $1 $2 $3 $4 $5 $6 $7
sudo mv /opt/local/var/db/php53/xdebug.NOT /opt/local/var/db/php53/xdebug.ini
sudo mv /opt/local/var/db/php54/xdebug.NOT /opt/local/var/db/php54/xdebug.ini
sudo mv /opt/local/var/db/php55/xdebug.NOT /opt/local/var/db/php55/xdebug.ini

Sau đó chạy bất kỳ lệnh nào của trình soạn nhạc như sau:

sudo composer-nodebug.sh update

Hạn chế:

  • yêu cầu sudo (trừ khi bạn chmod các tệp INI)
  • nếu bạn giết nó giữa chừng, các tệp INI sẽ được sửa đổi
  • sẽ yêu cầu thêm các phiên bản PHP trong tương lai.
  • trong khi nó đang chạy các quy trình PHP khác bị ảnh hưởng

Không thanh lịch, nhưng đơn giản.


Tôi nghĩ rằng có một phím tắt bạn có thể sử dụng thay vì $1…$7… có thể nó $@hoặc một cái gì đó tương tự, bạn sẽ phải xem.
greg0ire

> nếu bạn giết nó giữa chừng, các tệp INI bị sửa đổi, bạn vui lòng sửa lỗi đó bằng cách bẫy tín hiệu hủy> sẽ yêu cầu thêm các phiên bản PHP trong tương lai. bạn cũng có thể khắc phục điều đó với một vòng lặp đơn giản
greg0ire

1

Tạo bí danh cho nhà soạn nhạc để tắt xdebug và ngăn lỗi bộ nhớ:

Thêm dòng này vào ~ / .bash_profile của bạn

alias composer='php -d xdebug.profiler_enable=0 -d memory_limit=-1 /usr/local/bin/composer'

Khởi động lại thiết bị đầu cuối để cung cấp bí danh mới.


-3

Đây là giải pháp nhanh chóng của tôi để loại bỏ cảnh báo Xdebug trên phiên bản PHP5-cli. Tôi đã loại bỏ hỗ trợ của Xdebug cho PHP5-cli trên Ubuntu 14.04.

cd /etc/php5/cli/conf.d/

sudo rm 20-xdebug.ini

Bây giờ không còn cảnh báo Xdebug trên PHP5-cli.


2
sudo phpdismod xdebugsẽ là phương pháp ưa thích để bruterm
Jeff Puckett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.