我认为自从安装了XDebug后,我的服务器变得很慢。因此,为了验证我的假设,我想完全禁用XDebug。我一直在搜索如何禁用它的教程,但是我找不到相关信息。
自从 xdebug 3 推出以来,php.ini
中的设置已经稍作调整。
xdebug.mode=off
将禁用所有处理。根据文档:
没有任何功能是启用的,Xdebug 不会做任何工作,除了检查功能是否启用。如果你想要接近 0 的开销,请使用此设置。
grep -r "xdebug" /etc/php/
这可能会涉及到不同的版本,如果是这样,请运行php -v
查找您的版本。
sudo vi /etc/php/5.6/mods-available/xdebug.ini
//zend_extension=xdebug.so
您可以使用-d
标志在运行时在PHP CLI上禁用Xdebug:
php -d xdebug.mode=off -i | grep xdebug.mode
结果:xdebug.mode => off => off
例如,使用禁用Xdebug的单元测试,以提高速度:
php -d xdebug.mode=off ./vendor/bin/phpunit
您还可以创建别名,使其更容易使用。
找到您的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
禁用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
然后注释掉所有内容并保存。
更新--仅禁用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
if (function_exists('xdebug_disable')) {
xdebug_disable();
}
2:在php.ini中添加以下标志
xdebug.remote_autostart=0
xdebug.remote_enable=0
建议选择第一项。
#!/bin/bash
#
# Toggles xdebug
#
if [ ! -z $(php -m | grep "xdebug") ] ; then
phpdismod xdebug
echo "xdebug is now disabled"
else
phpenmod xdebug
echo "xdebug is now enabled"
fi
# exit success
exit 0
我遇到了类似的问题。有时,在php.ini中找不到xdebug.so。这种情况下,在php文件中执行phpinfo()
并检查Additional .ini files parsed
。在这里,您将看到更多的ini文件。其中一个将是xdebug的ini文件。只需删除(或重命名)此文件,重新启动apache,就可以删除此扩展程序。
(这是针对CentOS操作系统的)
重命名配置文件并重新启动Apache。
sudo mv /etc/php.d/xdebug.ini /etc/php.d/xdebug.ini.old
sudo service httpd restart
执行相反的操作以重新启用。
I had following Problem: Even if I set
xdebug.remote_enable=0
显示了Xdebug错误消息装饰。
我的解决方案:
xdebug.default_enable=0
只有当我使用这个标志时,Xdebug才会被禁用。