我认为自从我安装XDebug以来我的服务器变得很慢.所以,为了测试我的假设,我想完全禁用XDebug.我一直在寻找有关如何做到这一点的教程,但我找不到这些信息.
Uda*_*ant 148
找到php.ini
并寻找XDebug.
将xdebug autostart设置为false
xdebug.remote_autostart=0
xdebug.remote_enable=0
Run Code Online (Sandbox Code Playgroud)
禁用您的探查器
xdebug.profiler_enable=0
Run Code Online (Sandbox Code Playgroud)
请注意,即使已禁用xdebug但仍会加载,可能会导致性能下降.要禁用加载扩展本身,您需要在php.ini中对其进行注释.找到一个如下所示的条目:
zend_extension = "/path/to/php_xdebug.dll"
Run Code Online (Sandbox Code Playgroud)
并;
发表评论,例如;zend_extension = …
.
看看这篇文章XDebug,如何禁用单个.php文件的远程调试?
小智 95
一个简单的解决方案,适用于类似于Ubuntu的Linux发行版
sudo php5dismod xdebug
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
kko*_*ski 34
在Linux Ubuntu(可能还有另一个 - 它没有经过测试)发布PHP 5,你可以使用:
sudo php5dismod xdebug
Run Code Online (Sandbox Code Playgroud)
并使用PHP 7
sudo phpdismod xdebug
Run Code Online (Sandbox Code Playgroud)
之后,请重启服务器:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
Zac*_*atz 23
此外,您可以添加xdebug_disable()
到您的代码中.尝试:
if(function_exists('xdebug_disable')) { xdebug_disable(); }
Sin*_*dem 12
我重命名了配置文件并重新启动了服务器:
$ 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
Run Code Online (Sandbox Code Playgroud)
它对我有用.
小智 10
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');
Run Code Online (Sandbox Code Playgroud)
在xubuntu我完全禁用了xdebug用于CLI ...
sudo rm /etc/php5/cli/conf.d/*xdebug*
Run Code Online (Sandbox Code Playgroud)
自从 xdebug 3 发布以来,其中的设置pnp.ini
略有变化。环境:
xdebug.mode=off
Run Code Online (Sandbox Code Playgroud)
将禁用所有处理根据文档:
没有启用任何内容。Xdebug 除了检查功能是否启用之外不做任何工作。如果您想要接近 0 的开销,请使用此设置。
在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"
Run Code Online (Sandbox Code Playgroud)
Apache将处理xdebug
,而作曲家则不会.
如果您使用php-fpm
以下内容就足够了:
sudo phpdismod xdebug
sudo service php-fpm restart
Run Code Online (Sandbox Code Playgroud)
请注意,您需要根据您的 php 版本进行调整。例如运行 php 7.0 你会这样做:
sudo phpdismod xdebug
sudo service php7.0-fpm restart
Run Code Online (Sandbox Code Playgroud)
由于您正在运行 php-fpm,因此无需重新启动实际的网络服务器。在任何情况下,如果您不使用 fpm,那么您只需使用以下任何命令重新启动您的网络服务器:
sudo service apache2 restart
sudo apache2ctl restart
Run Code Online (Sandbox Code Playgroud)
您可以使用以下标志在运行时禁用 PHP CLI 上的 Xdebug -d
:
php -d xdebug.mode=off -i | grep xdebug.mode
结果:xdebug.mode => off => off
例如,在禁用 Xdebug 的情况下运行单元测试,因此速度更快:
php -d xdebug.mode=off ./vendor/bin/phpunit
您还可以为其创建别名以使其更易于使用。
两种选择:
1:在初始化脚本中加入如下代码:
if (function_exists('xdebug_disable')) {
xdebug_disable();
}
Run Code Online (Sandbox Code Playgroud)
2:在php.ini中添加以下标志
xdebug.remote_autostart=0
xdebug.remote_enable=0
Run Code Online (Sandbox Code Playgroud)
推荐第一个选项。
小智 5
找到您的 PHP.ini 并查找 XDebug。
通常在 Ubuntu 中,它的路径是
/etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
进行以下更改(最好通过在开头添加 ; 来评论它们)
xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.profiler_enable=0
Run Code Online (Sandbox Code Playgroud)
然后为 Ubuntu 再次重新启动您的服务器
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
禁用 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
Run Code Online (Sandbox Code Playgroud)
注意:更新您的 PHP 版本的路径。
grep -r "xdebug" /etc/php/
Run Code Online (Sandbox Code Playgroud)
这可能会出现不同的版本,如果是这样,请运行php -v
以查找您的版本。
sudo vi /etc/php/5.6/mods-available/xdebug.ini
Run Code Online (Sandbox Code Playgroud)
//zend_extension=xdebug.so
Run Code Online (Sandbox Code Playgroud)
受 PHPStorm 的启发,右键单击文件 -> 调试 -> ...
www-data@3bd1617787db:~/symfony$
php
-dxdebug.remote_enable=0
-dxdebug.remote_autostart=0
-dxdebug.default_enable=0
-dxdebug.profiler_enable=0
test.php
Run Code Online (Sandbox Code Playgroud)
重要的是 -dxdebug.remote_enable=0 -dxdebug.default_enable=0
我创建了这个 bash 脚本来切换 xdebug。我认为它至少应该在 Ubuntu / Debian 上工作。这是针对 PHP7+ 的。对于 PHP5,请使用 php5dismod / php5enmod。
#!/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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
166145 次 |
最近记录: |