标签: xdebug

如何在脚本中关闭xdebug?

可能重复:
如何禁用XDebug

我已经安装了xdebug,但它使我的单元测试慢得多.有没有办法通过ini_set或其他方式禁用它.我尝试了xdebug_disable(),但没有任何区别,除非我更改php.ini文件.

我的想法是只在生成代码覆盖率报告时打开xdebug,我之前不需要它.

php xdebug

14
推荐指数
1
解决办法
9219
查看次数

在调试PHP时Eclipse以完整路径打开文件

我有一个本地PHP服务器,xdebug与Xdebug JIT设置一起安装xdebug.除了一个非常烦人的问题,一切都很好.

问题是每次我在PHP脚本中遇到断点时,Eclipse都会打开带有完整路径的php文件,而不是工作区相对的.这会创建两个打开的文件,这不是问题,除了绝对文件中的设置断点没有在代码选项卡中正确显示(它们显示在断点列表中),以及设置或删除不同文件之间的断点是特定于路径的 - 因此您无法与其他文件表示中的断点进行交互.此外,跳转到新文件将在同一选项卡中打开.我想eclipse使用我已经打开的选项卡,我认为如果它没有使用绝对路径打开文件会发生.

我已经尝试在PHP服务器配置中设置路径映射,但它们似乎没有任何影响.我愿意接受任何建议.

谢谢!

php eclipse xdebug

14
推荐指数
1
解决办法
459
查看次数

PHP是否在数组上设置了内存限制?

我在PHP中有一个奇怪的内存问题.我认为有些东西只允许一个数组最大为0.25M.看起来脚本在崩溃之前只使用了大约6M.

这是xdebug的输出:

在此输入图像描述

这是它正在调用的功能.sql查询的结果是大约800行文本.

public function getOptions(){
    $sql = "select Opt,
                   Code,
                   Description
            from PCAOptions";

    $result = sqlsrv_query($this->conn,$sql);

    $arrayResult = array();
    echo ini_get('memory_limit'); //this confirms that my memory limit is high enough
    while($orderObject = sqlsrv_fetch_object($result,'PCA_Option')){
        array_push($arrayResult, $orderObject);
    }
    return $arrayResult;
}
Run Code Online (Sandbox Code Playgroud)

php arrays xdebug suhosin

14
推荐指数
1
解决办法
3171
查看次数

在HHVM中调试?

在HHVM中运行我的PHP脚本时,我看到我可以传递调试主机和调试端口参数,但我似乎无法确切地知道它的作用以及如何使用它.

这些参数是用于调试HHVM本身(或者可能是编译的PHP本身)还是用于调试PHP脚本?也就是说,它是用于调试HHVM的工作方式,还是用于调试,就像我通常使用XDebug一样,比如说?

起初我尝试将它连接到我为XDebug设置的IDE,但这似乎没有做任何事情,所以没有进行疯狂的追逐,我想我会问这里.

什么是HHVM的调试参数,确切地说,我如何使用它们来调试HHVM中的PHP脚本呢?

php debugging xdebug hhvm

14
推荐指数
3
解决办法
7527
查看次数

使用XAMPP的Windows上的PHP运行速度太慢了100倍

PHP在我的Windows桌面上运行得太慢,phpMyAdmin需要几分钟才能打开数据库.以下是运行简单PHP测试程序的时间比较:

  • 运行XAMPP的Windows 8.1机器:3597毫秒
  • iPage共享主机:65毫秒
  • A2Hosting共享主机:26毫秒

这是测试程序......

<?php
$rStartTime = microtime(true);
$countTo = 100000;
$a = 0;
//$countTo = $countTo * 100;
for ($x = 0; $x <= $countTo; $x++) {
    $a = sqrt(pow($x, 2));
}
$rMs = floor((microtime(true) - $rStartTime) * 1000);
echo 'timer done, countTo=' . $a . ' ms=' . $rMs;
Run Code Online (Sandbox Code Playgroud)

通过在Firefox中输入" http://localhost/timer.php " ,可以在不进行调试的情况下运行测试程序.

本地机器通常很快.它正在运行......

  • Windows 8.1
  • XAMPP 1.8.3(控制面板v3.2.1)
  • Apache 2.4.4(最新版本为2.4.20)
  • PHP 5.5.3
  • Antimalware = Windows Defender
  • IDE = PHPStorm 10.0.2

是什么让PHP运行得如此之慢?

php windows xampp xdebug

14
推荐指数
3
解决办法
3万
查看次数

Visual Studio代码调试数组评估

使用Visual Studio Code调试PHP时遇到一个小问题.XDebug工作正常,我能够在断点处停下来并通过将变量悬停在它们上或将它们添加到观察中来评估变量.但是,当我尝试查看具有超过32个项目的数组时,我只能看到前32个项目.例如,172个项目的数组将只显示32个项目.我尝试以某种方式评估此数组,在控制台内运行dump命令或json_encode,但无济于事.

有任何想法吗?

php arrays debugging xdebug visual-studio-code

14
推荐指数
1
解决办法
3189
查看次数

使用Netbeans和XDebug进行远程PHP调试

我正在尝试在以下场景中使用XDebug

  • Windows 7上的物理主机,带有Netbeans 7.1.1
  • Ubuntu上的虚拟客户机,Apache服务器和PHP 5.3.10
  • 我的网站的PHP代码位于Ubuntu上的共享文件夹中,位于/ var/www/mysite中
  • PHP代码可以从我的Windows主机上访问,\\ guestIP\mysite,具有R/W权限
  • 网站可从http://mysite.local.fr访问,来自主持人和访客

我从Windows主机创建了一个Netbeans项目,指向\\ guestIP\mysite.在项目运行配置中,我有以下内容:

  • 运行方式:本地Web服务器
  • 项目网址:http://mysite.local.fr
  • 索引文件:index.php(项目中确实存在)

在高级运行配置中:

  • 我检查了"每次询问"(我也尝试使用"请勿问"并自行使用会话密钥启动浏览器)
  • 我尝试设置'/ var/www/mysite' - \\ GuestIP\mysite进行映射(并尝试不使用任何东西)
  • 我没有触及代理设置

我在我的Ubuntu VM上的php.ini中有以下内容

xdebug.remote_enable = on
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = /tmp
;xdebug.remote_host=localhost,<HostIP>, mysite.local.fr
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.idekey="netbeans-xdebug"
xdebug.remote_mode=req
Run Code Online (Sandbox Code Playgroud)

这些都不起作用,Netbeans不会在Windows的任何断点处停止.

使用Netbeans直接从我的VM调试工作正常.

有人能告诉我如何让我的调试器从Windows远程工作吗?谢谢

php debugging netbeans remote-debugging xdebug

13
推荐指数
1
解决办法
2万
查看次数

在调试时禁用第一行php脚本intellij的中断?

在使用xdebug时,Intellij总是在我的php脚本的第一行暂停我的脚本,我不知道为什么

有任何想法吗?

在此输入图像描述

在此输入图像描述

php xdebug intellij-idea

13
推荐指数
1
解决办法
2597
查看次数

xdebug连接到客户端的超时.:-(使用phpstorm 7.1.3/vagrant/virtualbox/magento

有一段时间,我正在使用Phpstorm EAP,并且xdebug完美运行.我最近购买了个人许可证,并将我在EAP中的所有设置导入7.1.3.现在xdebug不起作用.

这是xdebug.ini

zend_extension=xdebug.so

xdebug.remote_host = 192.168.56.1
xdebug.remote_cookie_expire_time = 36000
xdebug.remote_log = /tmp/xdebug.log
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.idekey="PHPSTORM"
xdebug.scream=0
xdebug.remote_connect_back=1
xdebug.show_local_vars=1
Run Code Online (Sandbox Code Playgroud)

xdebug也在php.ini中显示.我甚至在http://xdebug.org/wizard.php中运行它并安装了最新版本.

Phpstorm正在侦听端口9000上的xdebug,并且"侦听PHP调试连接"已启用.

我的xdebug日志经常告诉我这个:

Log opened at 2014-07-18 17:46:16
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9000.
E: Time-out connecting to client. :-(
Log closed at 2014-07-18 17:46:16
Run Code Online (Sandbox Code Playgroud)

我甚至尝试过注册表编辑:http://brianreiter.org/2010/09/18/fix-virtualbox-host-only-network-adapter-creates-a-virtual-public-network-connection-that-c​​auses -Windows到禁用服务/

无论我尝试什么,xdebug都会超时.即使关闭了所有防火墙.

我在Windows 7 Enterprise上.VM是puphpet/centos65-x64

编辑 忘了在Phpstorm中提到IDE密钥是PHPSTORM

php xdebug magento phpstorm vagrant

13
推荐指数
1
解决办法
9769
查看次数

带有虚拟机的端口9000上的XDebug - EADDRINUSE ::: 90000

我在VirtualBox VM上运行我的Symfony应用程序.PHP正在使用XDebug运行,并且已正确配置.我知道这一点,因为其他人已设法使其与同一个VM的快照一起工作.

当我尝试在VS Code XDebug中配置时,我使用以下内容 launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是当我点击"开始调试:侦听XDebug"时,我收到以下错误:

错误:听EADDRINUSE ::: 9000

我试图杀死正在使用该端口的进程......令我惊讶的是,这是我尝试连接的虚拟机.

我在这个配置中错过了什么?

php virtualbox xdebug visual-studio-code

13
推荐指数
3
解决办法
2065
查看次数