web-dev-qa-db-ja.com

XDebugを無効にする方法

XDebugをインストールしてからサーバーが遅くなったと思います。したがって、私の仮説をテストするために、XDebugを完全に無効にします。これを行う方法に関するチュートリアルを探していますが、そのような情報は見つかりません。

109
Beto Aveiga

php.iniを見つけて、XDebugを探します。

Xdebug autostartをfalseに設定します

xdebug.remote_autostart=0  
xdebug.remote_enable=0

プロファイラーを無効にします

xdebug.profiler_enable=0

xdebugが無効になっているがロードされている場合でもパフォーマンスが低下する になる可能性があることに注意してください。拡張機能自体のロードを無効にするには、php.iniでコメントする必要があります。次のようなエントリを見つけます。

zend_extension = "/path/to/php_xdebug.dll"

それにコメントするために;を入れてください。 ;zend_extension = …

この投稿を確認してください XDebug、単一の.phpファイルのリモートデバッグを無効にする方法?

138
Uday Sawant

Ubuntuに似たLinuxディストリビューションで動作する簡単なソリューション

Sudo php5dismod xdebug
Sudo service Apache2 restart
91
Arvi Võime

Linux Ubuntもう一つかもしれません-テストされていませんPHP 5オンボード、次を使用できます。

Sudo php5dismod xdebug

そしてPHP 7

Sudo phpdismod xdebug

その後、サーバーを再起動してください:

Sudo service Apache2 restart
31
kkochanski

また、コードにxdebug_disable()を追加できます。試してください:

if(function_exists('xdebug_disable')) { xdebug_disable(); }

23
Zack Katz

構成ファイルの名前を変更し、サーバーを再起動しました。

$ mv /etc/php/7.0/fpm/conf.d/20-xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.i

$ Sudo service php7.0-fpm restart && Sudo service nginx restart

うまくいきました。

11
Sinan Eldem

Php.iniで拡張機能をコメント化し、Apacheを再起動します。簡単なスクリプトを次に示します(ショートカットを割り当てることができます)

xdebug-toggle.php

define('PATH_TO_PHP_INI', 'c:/xampp/php/php.ini');
define('PATH_TO_HTTPD', 'c:/xampp/Apache/bin/httpd.exe');
define('REXP_EXTENSION', '(zend_extension\s*=.*?php_xdebug)');

$s = file_get_contents(PATH_TO_PHP_INI);
$replaced = preg_replace('/;' . REXP_EXTENSION . '/', '$1', $s);
$isOn = $replaced != $s;
if (!$isOn) {
    $replaced = preg_replace('/' . REXP_EXTENSION . '/', ';$1', $s);
}
echo 'xdebug is ' . ($isOn ? 'ON' : 'OFF') . " now. Restarting Apache...\n\n";
file_put_contents(PATH_TO_PHP_INI, $replaced);

passthru(PATH_TO_HTTPD . ' -k restart');
10
antonpinchuk

xubuntuでは、これでCLIのxdebugを完全に無効にしました...

Sudo rm /etc/php5/cli/conf.d/*xdebug*
9
Artistan

CLI iniファイルのWindows(WAMP)の場合:

X:\wamp\bin\php\php5.x.xx\php.ini

コメント行

; XDEBUG Extension

;zend_extension = "X:/wamp/bin/php/php5.x.xx/zend_ext/php_xdebug-xxxxxx.dll"

Apacheはxdebugを処理し、composerは処理しません。

7

PHP.iniを見つけて、XDebugを探します。

通常、Ubuntuではそのパスは

/etc/php5/Apache2/php.ini  

次の変更を行います(先頭に;を追加してコメントする方がよい)

xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.profiler_enable=0

次に、Ubuntuのサーバーを再起動します

Sudo service Apache2 restart
4
Shadab Salam

2つのオプション:

1:初期化スクリプトに次のコードを追加します。

 if (function_exists('xdebug_disable')) {
           xdebug_disable();
         }

2:php.iniに次のフラグを追加します

 xdebug.remote_autostart=0
 xdebug.remote_enable=0

最初のオプションをお勧めします。

4
Sumoanand

xdebugを無効にする

PHP 7の場合:Sudo nano /etc/php/7.0/cli/conf.d/20-xdebug.ini

PHP 5の場合:Sudo nano /etc/php5/cli/conf.d/20-xdebug.ini

次に、すべてをコメントアウトして保存します。


PDATE-CLIのみを無効にする

@igoemonのコメントによると、これはより良い方法です。

PHP 7.0(NGINX)

Sudo mv /etc/php/7.0/cli/conf.d/20-xdebug.ini /etc/php/7.0/cli/conf.d/20-xdebug.ini.old
Sudo service nginx restart

注:PHPのバージョンへのパスを更新します。

3
Justin

(これはCentOS用です)

構成ファイルの名前を変更して、Apacheを再起動します。

Sudo mv /etc/php.d/xdebug.ini /etc/php.d/xdebug.ini.old
Sudo service httpd restart

再度有効にするには、逆の操作を行います。

3
crmpicco

Ubuntu 16.04は、PHPからxdebugを削除します。

Php.iniファイルを見つけて、xdebugがあることを確認します。

grep -r "xdebug" /etc/php/

バージョンが異なる場合は、php -vを実行してバージョンを見つけてください。

Php.iniファイルを次のように編集します。

Sudo vi /etc/php/5.6/mods-available/xdebug.ini

行にコメントを付けます:

//zend_extension=xdebug.so

ファイルを保存する

3
Andrew Atkinson

次の問題がありました:設定しても

xdebug.remote_enable=0 

Xdebug-Error-Message-Decorationが表示されました。

私の解決策:

xdebug.default_enable=0

このフラグを使用する場合にのみ、Xdebugは無効になりました。

3
suther

同様の問題に遭遇しました。時々、php.iniにxdebug.soが見つからないことがあります。その場合、PHPファイルでphpinfo()を実行し、Additional .ini files parsedを確認します。ここで、より多くのiniファイルが表示されます。これらの1つはxdebugのiniファイルです。このファイルを削除(または名前変更)し、Apacheを再起動するだけで、この拡張機能は削除されます。

3
jerrymouse

php-fpmを使用している場合、以下で十分です。

Sudo phpdismod xdebug
Sudo service php-fpm restart

ご使用のphpバージョンに応じて、これを微調整する必要があることに注意してください。 php 7.0を実行するインスタンスの場合:

Sudo phpdismod xdebug
Sudo service php7.0-fpm restart

Php-fpmを実行しているため、実際のWebサーバーを再起動する必要はありません。いずれの場合でも、fpmを使用しない場合は、以下のコマンドのいずれかを使用してWebサーバーを再起動するだけです。

Sudo service Apache2 restart
Sudo Apache2ctl restart
2
Cyclonecode

WAMPの場合、タスクバートレイの[Wamp]アイコンを左クリックします。 PHPにカーソルを合わせてphp.iniをクリックし、テキストエディターで開きます。

ここで、フレーズ「zend_extension」を検索して追加します。 (セミコロン)その前に。

WAMPを再起動すると、準備完了です。

1
bantya

そう、そう、必要なものはすべて、zend_extension=xdebug.soなどのINIファイルのコメント行だけです。

コメントは、セミコロンを追加して作成できます。

しかし、そのような種類の答えはすでに追加されており、Xdebugステータスを切り替えるための準備ができたソリューションを共有したいと思います。

Xdebugのクイックスイッチャーを作成しました。たぶんそれは誰かに役立つでしょう。

Xdebug Switcher

1
Kirby

Apache/2.4.33(Win64)PHP/7.2.4 myHomeBrewスタック

Php.iniの最後で、次を使用してPhpStormで使用するXdebugを管理します

; jch ~ Sweet analizer at https://xdebug.org/wizard.php for matching xdebug to php version.
; jch ~ When upgrading php versions check if newer xdebug.dll is needed in ext directory.
; jch Renamed... zend_extension = E:\x64Stack\PHP\php7.2.4\ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll

zend_extension = E:\x64Stack\PHP\php7.2.4\ext\php_xdebug.dll

; jch !!!! Added the following for Xdebug with PhpStorm

[Xdebug]
; zend_extension=<full_path_to_xdebug_extension>
; xdebug.remote_Host=<the Host where PhpStorm is running (e.g. localhost)>
; xdebug.remote_port=<the port to which Xdebug tries to connect on the Host where PhpStorm is running (default 9000)>

xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9000

xdebug.profiler_enable=1
xdebug.profiler_output_dir="E:\x64Stack\Xdebug_profiler_output"
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1

; jch ~~~~~~~~~To turn Xdebug off(disable) uncomment the following 3 lines restart Apache~~~~~~~~~ 
;xdebug.remote_autostart=0  
;xdebug.remote_enable=0
;xdebug.profiler_enable=0

; !!! Might get a little more speed by also commenting out this line above... 
;;; zend_extension = E:\x64Stack\PHP\php7.2.4\ext\php_xdebug.dll
; so that Xdebug is both disabled AND not loaded
1
Jim

Mac OS XでMAMP Proを使用している場合、MAMPクライアントを介してPHPタブの下のActivate Xdebugのチェックを外します。

Disabling Xdebug in MAMP Pro

1

PHPStormに触発され、ファイルを右クリック->デバッグ-> ...

www-data@3bd1617787db:~/symfony$ 
php 
-dxdebug.remote_enable=0 
-dxdebug.remote_autostart=0 
-dxdebug.default_enable=0 
-dxdebug.profiler_enable=0 
test.php

重要なのは-dxdebug.remote_enable=0 -dxdebug.default_enable=0です

0
max4ever