我认为自从安装XDebug以来我的服务器变得很慢。 所以,为了测试我的假设,我想完全禁用XDebug。 我一直在寻找有关如何做到这一点的教程,但我找不到这样的信息。
答案 0 :(得分:138)
找到你的php.ini
并寻找XDebug。
将xdebug autostart设置为false
xdebug.remote_autostart=0
xdebug.remote_enable=0
禁用您的探查器
xdebug.profiler_enable=0
请注意,可以有performance loss even with xdebug disabled but loaded。要禁用加载扩展本身,您需要在php.ini中对其进行注释。找到这样的条目:
zend_extension = "/path/to/php_xdebug.dll"
并添加;
对其进行评论,例如;zend_extension = …
。
查看此帖子XDebug, how to disable remote debugging for single .php file?
答案 1 :(得分:91)
一个简单的解决方案,适用于类似于Ubuntu的Linux发行版
sudo php5dismod xdebug
sudo service apache2 restart
答案 2 :(得分:23)
此外,您可以在代码中添加xdebug_disable()
。尝试:
if(function_exists('xdebug_disable')) { xdebug_disable(); }
答案 3 :(得分:11)
我重命名了配置文件并重新启动了服务器:
if(data.getData()==null){
bitmap = (Bitmap)data.getExtras().get("data");
}else{
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
}
yourImageView.setImageBitmap(img);
它对我有用。
答案 4 :(得分: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');
答案 5 :(得分:9)
在xubuntu中我完全禁用了xdebug for CLI ...
sudo rm /etc/php5/cli/conf.d/*xdebug*
答案 6 :(得分:7)
在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
,而作曲家则不会。
答案 7 :(得分:4)
两个选项:
1:在初始化脚本中添加以下代码:
if (function_exists('xdebug_disable')) {
xdebug_disable();
}
2:将以下标志添加到php.ini
xdebug.remote_autostart=0
xdebug.remote_enable=0
建议使用第一个选项。
答案 8 :(得分:4)
找到你的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
答案 9 :(得分:3)
(这是针对CentOS的)
重命名配置文件并重启apache。
sudo mv /etc/php.d/xdebug.ini /etc/php.d/xdebug.ini.old
sudo service httpd restart
反过来重新启用。
答案 10 :(得分:3)
//Search button
@FindBy(how=How.XPATH, using =".//input[@value='Search']")
//@CachelookUp
WebElement BtnSearch;
这可能会提供不同的版本,如果是这样,请运行grep -r "xdebug" /etc/php/
来查找您的版本。
php -v
sudo vi /etc/php/5.6/mods-available/xdebug.ini
答案 11 :(得分:3)
停用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
注意:更新PHP版本的路径。
答案 12 :(得分:3)
我有以下问题: 即使我设置
xdebug.remote_enable=0
显示了Xdebug-Error-Message-Decoration。
我的解决方案:
xdebug.default_enable=0
只有当我使用此标志时,Xdebug才会被禁用。
答案 13 :(得分:3)
我遇到了类似的问题。有时,你不会在php.ini中找到xdebug.so。在这种情况下,在php文件中执行phpinfo()
并检查Additional .ini files parsed
。在这里,您将看到更多ini文件。其中一个是xdebug的ini文件。只需删除(或重命名)此文件,重新启动apache,此扩展名将被删除。
答案 14 :(得分:2)
如果您使用的是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,所以不需要重新启动实际的webserver。在任何情况下,如果您不使用fpm,那么您只需使用以下任何命令重新启动您的网络服务器:
sudo service apache2 restart
sudo apache2ctl restart
答案 15 :(得分:1)
如果您在Mac OS X上使用MAMP Pro,请通过取消选中 PHP 标签下的激活Xdebug ,通过MAMP客户端完成:
答案 16 :(得分:1)
所以,是的,所有你需要的,只需在zend_extension=xdebug.so
或类似的INI文件中注释一行。
可以通过添加分号来进行评论。
但是,已经添加了这样的答案,并且我想分享现成的解决方案来切换Xdebug状态。
我为Xdebug做了快速切换器。也许对某人有用。
答案 17 :(得分:1)
对于WAMP,单击左键单击任务栏托盘中的Wamp图标。将鼠标悬停在PHP上,然后单击php.ini并在texteditor中打开它。
现在,搜索短语' zend_extension'并添加; (分号)在它前面。
重启WAMP,你很高兴。
答案 18 :(得分:1)
Apache / 2.4.33(Win64)PHP / 7.2.4 myHomeBrew堆栈
在php.ini结束时,我使用以下命令管理Xdebug以与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
答案 19 :(得分:1)
我创建了这个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
答案 20 :(得分:1)
仅对某些PHP版本或sapi禁用xdebug。 在这种情况下,PHP 7.2 fpm
sudo phpdismod -v 7.2 -s fpm xdebug
sudo service php7.2-fpm nginx restart
答案 21 :(得分:1)
对于那些有兴趣在 codeship 中禁用它的人,请在运行测试之前运行此脚本:
rm -f /home/rof/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini
我收到此错误:
Use of undefined constant XDEBUG_CC_UNUSED - assumed 'XDEBUG_CC_UNUSED' (this will throw an Error in a future version of PHP)
现在不见了!
答案 22 :(得分:0)
受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