标签: xdebug

Apache没有加载Xdebug,但是从命令行启动时

我知道这听起来很奇怪,但请相信我,这就是发生的事情.这是我的系统设置:

Windows7
Apache 2.2
PHP 5.2.12
Xdebug 2.0.5

我在PHP.ini文件中配置了XDebug.当我运行php -m时,我确实看到Xdebug已加载.现在,如果我启动Apache AS A SERVICE(或Apache Monitor),并运行phpinfo(),它不会显示Xdebug被加载.

然而,(现在这里的疯狂部分),如果我去我的Apache bin目录,并简单地运行httpd.exe,然后去看看phpinfo()函数,Xdebug的现在显示为被装!

此外,比较一些phpinfo()在通过服务或命令行启动时,看起来php.ini文件对于任何一种情况都是相同的.除了装载Xdebug的部件外,一切看起来都一样.

请,如果您有任何想法,将不胜感激.

php apache xdebug

11
推荐指数
1
解决办法
2060
查看次数

如果你在防火墙后面的NAT上,如何使用php xdebug?

我有以下用于调试PHP应用程序的用例:

  • 开发人员确实拥有私有IP地址
  • 开发人员只能从服务器连接到有限数量的端口,如80,8080,3128,其他端口受到传出防火墙的限制.如果传出请求是HTTP,他仍然可以使用没有此限制的代理.
  • 服务器机器是完全可配置的

在这种情况下可以使用xdebug吗?怎么样?

可以建立VPN,但这不是一个简单的解决方案,所以我更喜欢简化.

php firewall remote-debugging xdebug

11
推荐指数
2
解决办法
3935
查看次数

生产分析代码

我正在考虑实现在生产服务器上配置代码并想要一些最佳实践建议的想法.显然,这是一个坏主意,配置文件,因为增加的开销的所有请求,所以我一直在寻找到一些技术,会随机调用每个请求的探查.每10,000个请求中有1个配置文件.

我知道有一种方法可以实现与Facebook的这样一个任务XHProf的探查,但使用的XDebug希望的是类似的解决方案.

所以我的问题是(假设xdebug是分析器):

  1. 这种功能是否可取?我想从生产环境中获取一些真实世界的数据,但是如果它意味着由于开销而破坏用户体验.
  2. 在生产中安装xdebug是否以任何方式打开服务器攻击者/开发者(假设调试器未启用)?这种类型的设置是否有锅炉板配置?
  3. 触发分析器获得适当样本量的最佳方法是什么?

对此事的任何其他见解将非常感激.

php profiling xdebug xhprof

11
推荐指数
1
解决办法
4072
查看次数

XDebug可以单独跟踪探查器调用所花费的时间吗?

我使用XDebug作为PHP应用程序的分析器.我遇到了一个XDebug严重改变结果的情况,以至于它们没用.

这是一个演示问题的简化示例:

function foo(){ $x = 1; }
function bar(){ foo(); }
Run Code Online (Sandbox Code Playgroud)

测试A:

$t0 = microtime(true);
for ($i = 0; $i < 1000000; $i++) foo();
echo microtime(true) - $t0;
Run Code Online (Sandbox Code Playgroud)

测试B:

$t0 = microtime(true);
for ($i = 0; $i < 1000000; $i++) bar();
echo microtime(true) - $t0;
Run Code Online (Sandbox Code Playgroud)

所以,这些是我得到的结果(以秒为单位):

          profiler  | profiler  > profiler
          disabled  | enabled   > results
          --------------------------------------------------------------------
          output    | output    > total time   time in foo()   time in bar()
Test A    0.159     | 12.199    > 12.245       0.110           - (not …
Run Code Online (Sandbox Code Playgroud)

php performance profiler xdebug

11
推荐指数
1
解决办法
870
查看次数

PHP xDebug图解释

我正在分析PHP应用程序(构建在Zend框架上).附上您可以找到KCacheGrind从xDebug输出生成的主调用图的屏幕截图.

有两件事我不明白:

1)为什么{main} "分叉"成2个电话?它们应该以某种方式并行还是一个接一个地发生?

2)左边的箭头{main}有一个带文字的小蓝条2x; 这是否意味着召唤Zend_Application->bootstrap发生了两次?

 

PHP xDebug图

php zend-framework xdebug kcachegrind

11
推荐指数
1
解决办法
760
查看次数

在eclipse中调试Liferay时删除java异常断点

通过调试Liferay Portal,即tomcat应用程序,ThreadPoolExecutor$Worker.run() line: 912虽然我没有在这个类中设置断点,但eclipse通常会停止.这ThreadPoolExecutor不是我的应用程序类,我认为属于tomcat.我的问题是:这里出了什么问题,为什么日食会在这里停止?并且可以在eclipse中设置这样的"外部断点"来忽略吗?

在此输入图像描述

eclipse tomcat xdebug liferay liferay-ide

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

PHPStorm无法与xdebug建立外部连接

我的操作系统是Mac Mountain lion.

我的PhpStorm版本是5.0.4.

这是我的php xdebug信息:

  • xdebug.remote_autostart => Off => Off
  • xdebug.remote_connect_back =>关=>关
  • xdebug.remote_cookie_expire_time => 3600 => 3600
  • xdebug.remote_enable => On => On
  • xdebug.remote_handler => dbgp => dbgp
  • xdebug.remote_host => 127.0.0.1 => 127.0.0.1
  • xdebug.remote_log => data/logs/xdebug.log => data/logs/xdebug.log
  • xdebug.remote_mode => req => req
  • xdebug.remote_port => 9000 => 9000
  • xdebug.idekey =>没有值=>没有值

我可以在PhpStorm中调试PhpScript Run Type,它运行正常.所以我认为xdebug配置得很好.

但是在我尝试遵循"零配置调试"(使用Web应用程序运行类型)后,Phpstorm无法连接传入连接.

这是我的步骤:

  1. 单击开始Listion Php Connection.(将呼叫切换为绿色)
  2. 单击PhpScript中的第一行的Run-> Break,并在第一个语句处设置断点.
  3. 选择My WebApplication Config,然后单击Debug按钮.然后启动chrome并链接到我的phpscript.(使用?XDEBUG_SESSION_START = 19869)
  4. 在PhpStorm中,调试器显示等待与ide键'19869'的传入连接.
  5. 在期刊中,打印lsof -i4TCP:9000.

    命令PID用户FD类型设备大小/关闭节点名称
    webide 288 wangfeng 69u IPv6 0xa83881cdce30c579 0t0 TCP*:cslistener(LISTEN)

  6. 打开Chrome的开发者工具,选择Cookie. …

ide xdebug phpstorm

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

Xdebug:来自任何主机的连接

我在虚拟机上使用Xdebug(Ubuntu guest).我正在使用Vagrant来管理这些VM,我正在配置一个"模式"操作系统来克隆它以进行Web开发.问题是我想配置这个ubuntu guest来接受来自任何主机的xdebug连接(xdebug显然是在guest虚拟机中).

这些说明不起作用:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_connect_back=1
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)

唯一的方法似乎是添加一行:

xdebug.remote_host=sdurzu
Run Code Online (Sandbox Code Playgroud)

"sdurzu"是主机的主机名,但我想为xdebug创建一个"通用"配置,而不是基于主机名或IP.

有没有办法使用外卡(*)或类似的东西?

php xdebug

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

Xdebug需要不同的Zend版本

我真的很茫然,我只是不明白如何解决这个错误.

Xdebug requires Zend Engine API version 220121212.
The Zend Engine API version 220131226 which is installed, is newer.
Run Code Online (Sandbox Code Playgroud)

我读过一些关于phpize的内容,但是当我运行命令时,我得到...

Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么.什么是顶级源目录?

有人可以帮我吗?

谢谢

php xdebug

11
推荐指数
2
解决办法
7481
查看次数

带有Xdebug的Laravel 5总是抛出"有效载荷无效".

我在VScode上配置Xdebug来调试我的laravel应用程序.但是,当我开始调试时,laravel总是抛出这个错误:Exception has occurred. Illuminate\Contracts\Encryption\DecryptException: The payload is invalid.

我已经试过了php artisan optimize.

这里有人已经遇到过这个问题吗 我正在使用Laravel 5.5

PS.我试图调试Laravel 4应用程序.它没有任何问题.所以,我认为这可能是Laravel 5特有的.

php xdebug laravel

11
推荐指数
2
解决办法
7146
查看次数