Comment désactiver XDebug
20 réponses
Trouvez votre php.ini
et cherchez XDebug.
mettre Xdebug autostart à false
xdebug.remote_autostart=0
xdebug.remote_enable=0
désactiver votre profiler
xdebug.profiler_enable=0
notez qu'il peut y avoir une perte de performance même avec xdebug désactivé mais chargé . Pour désactiver le chargement de l'extension elle-même, vous devez le commenter dans votre php.ini. Trouvez une entrée ressemblant à ceci:
zend_extension = "/path/to/php_xdebug.dll"
et mettre un ;
pour le commenter, p.ex. ;zend_extension = …
.
consultez ce post XDebug, comment faire pour désactiver le débogage à distance d'unique .fichier php?
une solution facile de travailler sur des distributions Linux similaires à Ubuntu
sudo php5dismod xdebug
sudo service apache2 restart
dans Linux Ubuntu ( peut - être aussi un autre-il n'est pas testé ) distribution avec PHP 5 à bord, vous pouvez utiliser:
sudo php5dismod xdebug
et avec PHP 7
sudo phpdismod xdebug
et après cela, redémarrez le serveur:
sudo service apache2 restart
vous pouvez aussi ajouter xdebug_disable()
à votre code. Essayez:
if(function_exists('xdebug_disable')) { xdebug_disable(); }
Commentaire de l'extension dans php.ini et redémarrez Apache. Voici un script simple (vous pouvez lui assigner un raccourci)
xdebug-bascule.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 . '/', '', $s);
$isOn = $replaced != $s;
if (!$isOn) {
$replaced = preg_replace('/' . REXP_EXTENSION . '/', ';', $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');
j'ai renommé le fichier de configuration et redémarré le serveur:
$ 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
ça a marché pour moi.
sous Windows (WAMP) dans le fichier CLI ini:
X:\wamp\bin\php\php5.x.xx\php.ini
ligne de commentaire
; XDEBUG Extension
;zend_extension = "X:/wamp/bin/php/php5.x.xx/zend_ext/php_xdebug-xxxxxx.dll"
Apache traitera xdebug
, et le compositeur ne le fera pas.
dans xubuntu j'ai totalement désactivé xdebug pour le CLI avec ceci...
sudo rm /etc/php5/cli/conf.d/*xdebug*
deux options:
1: ajouter le code suivant dans le Script d'initialisation:
if (function_exists('xdebug_disable')) {
xdebug_disable();
}
2: Ajouter le drapeau suivant à php.ini
xdebug.remote_autostart=0
xdebug.remote_enable=0
La 1ère option est recommandée.
Trouvez votre PHP.ini et de regarder pour XDebug.
normalement dans Ubuntu son chemin est
/etc/php5/apache2/php.ini
faire les changements suivants (mieux vaut les commenter en ajoutant ; au début )
xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.profiler_enable=0
puis redémarrez votre serveur encore une fois pour Ubuntu
sudo service apache2 restart
j'ai rencontré un problème similaire. Parfois, vous ne trouverez pas xdebug.donc en php.ini. Dans ce cas, exécutez phpinfo()
dans un fichier php et vérifiez Additional .ini files parsed
. Ici, vous verrez plus de fichiers ini. L'un d'eux sera le fichier ini de xdebug. Juste supprimer (ou renommer) ce fichier, redémarrez apache, et cette extension sera supprimé.
j'ai eu le problème suivant: Même si je mets
xdebug.remote_enable=0
Xdebug-Error-Message-la Décoration a été montré.
ma solution:
xdebug.default_enable=0
seulement si j'utilise ce drapeau, Xdebug est désactivé.
(pour CentOS)
Renommer le fichier de configuration et redémarrer apache.
sudo mv /etc/php.d/xdebug.ini /etc/php.d/xdebug.ini.old
sudo service httpd restart
Faire l'inverse pour réactiver.
Désactiver l'extension xdebug
pour PHP 7: sudo nano /etc/php/7.0/cli/conf.d/20-xdebug.ini
pour PHP 5: sudo nano /etc/php5/cli/conf.d/20-xdebug.ini
puis tout commenter et sauver.
mise à JOUR -- Disable pour CLI uniquement
selon le commentaire de @igoemon, c'est une meilleure méthode:
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
Note: mettez à jour le chemin vers votre version de PHP.
Ubuntu 16.04 supprimer xdebug de PHP.
Trouvez votre php.fichier ini et assurez-vous que xdebug est là:
grep -r "xdebug" /etc/php/
cela pourrait venir avec différentes versions, si oui, Lancez php -v
pour trouver votre version.
édite le php.fichier ini, comme:
sudo vi /etc/php/5.6/mods-available/xdebug.ini
Commentaire de la ligne:
//zend_extension=xdebug.so
Enregistrer le fichier
si vous utilisez MAMP Pro sur Mac OS X c'est fait via le client MAMP en décochant activer Xdebug sous le PHP onglet:
donc, oui, tout ce dont vous avez besoin, il suffit de commenter la ligne dans le fichier INI comme zend_extension=xdebug.so
ou similaire.
des commentaires peuvent être faits en ajoutant un point-virgule.
mais, ce genre de réponse déjà ajouté, et je voudrais partager solution prête à changer le statut Xdebug.
j'ai fait un commutateur rapide pour Xdebug. Il serait peut-être utile pour quelqu'un.
pour WAMP, cliquez sur le clic gauche sur l'icône Wamp dans la barre des tâches. Passez sur PHP et cliquez sur php.ini et l'ouvrir dans votre texteditor.
maintenant, rechercher la phrase "zend_extension" et ajouter; (point-virgule) devant.
redémarrez le WAMP et vous pouvez y aller.
si vous utilisez php-fpm
, les mentions suivantes doivent suffire:
sudo phpdismod xdebug
sudo service php-fpm restart
remarquez, que vous aurez besoin de modifier cela en fonction de votre version php. Par exemple, exécuter php 7.0 vous ferait:
sudo phpdismod xdebug
sudo service php7.0-fpm restart
puisque vous utilisez php-fpm, il ne devrait pas être nécessaire de redémarrer le serveur web. Dans tous les cas, si vous n'utilisez pas fpm, vous pouvez simplement redémarrer votre serveur web en utilisant l'une des commandes suivantes:
sudo service apache2 restart
sudo apache2ctl restart
Apache / 2.4.33 (Win64) PHP / 7.2.4 myhomebrew stack
à la fin de php.j'utilise ce qui suit pour gérer Xdebug pour une utilisation avec PhpStorm
; 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