问题标签 [zend-debugger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2213 浏览

php - 使用 Jetbrains PHPStorm 覆盖 PHPUnit 0%

我正在使用 Codeigniter3 框架和一个 phpunit 包ci-phpunit-test。我在启用了 zend 调试器的 zend 服务器上运行 php。

我的 phpunit.xml 文件在那里:

我使用带有绿色播放和破折号的图标运行代码覆盖执行,这运行以下命令:

成功运行所有测试后,Coverage PHPUnit 侧栏打开,仅显示 0% 的覆盖率(我确信测试会通过大量代码)。

这是我得到的:

在此处输入图像描述

更新:更多信息...... 当我在 phpunit.xml 文件中添加它时,它告诉我 Xdebug 未启用:

因此,我尝试启用 xdebug 调试器,测试运行速度非常缓慢,并且我在 build/coverage 文件夹中获得了 HTML 报告。它很好,但没有集成在 PHPStorm 环境中。

所以我回到 zend 调试器并尝试 PHPStorm 功能(删除 phpunit.xml 中的日志部分)。测试运行速度很快,但覆盖率保持在 0%...

0 投票
0 回答
518 浏览

php - 带有 Zend 调试器 (nginx+php5-fpm) 和 PHPStorm 的 502 Bad Gateway

我正在尝试在服务器上设置调试,但它不起作用。

这是我的设置:

  • Nginx 与 PHP 5.5.9 (fpm, unix socket) @ 192.168.1.40
  • 网络分享与源代码@192.168.1.50
  • 网络共享安装在 /shared/www/ 的网络服务器上
  • 我的项目位于 /shared/www/myProject 下,可通过http://myProject.local/访问
  • Zend Debugger 已安装,以下来自 php.ini:

    zend_extension="/usr/lib/php5/20151104/ZendDebugger-5.5.x-64bit.so" zend_debugger.allow_hosts=192.168.1.0/24,127.0.0.1 zend_debugger.expose_remotely=always

  • 该网站按预期工作,我在那里没有问题。
  • 我的工作站的 IP 为 192.168.1.10

现在我的 PHPStorm 设置:

文件 -> 设置 -> 语言和框架 -> PHP

  • PHP 语言级别 5.5
  • 解释器:192.168.1.40(我得到正确的 PHP 版本;调试器:Zend 调试器,正确的配置文件)

文件 -> 设置 -> 语言和框架 -> PHP -> 调试

  • Zend 调试器端口 = 10137
  • [x] 可以接受外部连接

文件 -> 设置 -> 语言和框架 -> PHP -> 服务器

添加了新服务器:192.168.1.40:80 - Zend 调试器

[x] 使用路径映射:文件/目录:\192.168.1.50\shared\www\myProject

服务器上的绝对路径:/shared/www/myProject

我以这种方式为 Chrome 配置了 zDebug:

  • 调试主机:192.168.1.10
  • 调试端口:10137
  • [x] 检查 Zend 调试器 Cookie
  • [x] 使用快速文件
  • [x] 调试本地副本
  • [x] 禁用右键单击

现在有了配置,这里是我的调试问题:

如果我单击“调试此页面”(无论我使用的是marklets还是 Chrome 扩展程序),站点都会加载一分钟左右,并且我会从 nginx 获得 504 Gateway Timeout。

现在,如果我单击“开始侦听 PHP 调试连接”(用于零配置调试)并再次尝试调试,我将立即获得 502 Bad Gateway。

我真的不知道为什么我会收到这个错误。Nginx 错误日志这样说:

2015/11/04 18:11:05 [错误] 4613#0: *107 recv() 在从上游读取响应标头时失败(104:对等方重置连接),客户端:192.168.1.10,服务器:192.168.1.40,请求:“GET /index.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php5-fpm.sock:”,主机:“192.168.1.40”

如果我禁用调试,则根本没有错误。

有人对这个问题有任何想法吗?我搜索了所有 PHPStorm 文档,但无济于事。

谢谢!

0 投票
1 回答
124 浏览

php - 为什么 xdebugger 在 php eclipse 中断开连接?

根据 xdebug 设置评论了这一行。尝试调试代码时仍然断开连接。

取消注释这些行

请让我知道是否缺少任何更改?

0 投票
1 回答
252 浏览

debugging - oh-storm 和 zend 服务器:无法接受外部 Zend 调试器连接:无法评估表达式 'isset($_SERVER['PHP_IDE_CONFIG'])'

我尝试使用 PhpStorm (2016.3.1) 和 Zend Server 9.01 和 Z-Ray 进行调试。一切都有最新版本并本地安装到我的 MacBook 上。为了简单起见,我创建了一个新目录,其中包含一个文件 (index.php)。

进入 PhpStorm 进入

Preferences - Language&Frameworks - PHP - Servers, 有一个 Server: Host: zf3-test2.dev Port: 10088 Debugger: Zend Debugger

首选项 - 语言和框架 - PHP - 调试 - Zend Debugger 调试端口:10137 设置广播端口:20080 可以接受外部连接:选中 忽略 Z-Ray 系统请求:未选中

在我的 /etc/hosts 中设置 127.0.0.1 zf3-test2.dev

在 Zend Server 中,我创建了一个虚拟主机。

所以现在,当我在浏览器中调用地址http://zf3-test2.dev:10088时,我的网站打开并且工作正常。

我阅读了以下说明: http: //files.zend.com/help/Zend-Server/content/debugging_in_phpstorm_using_zend_server.htm

我创建了一个断点。

我激活了 PhpStorm“开始侦听 PHP 调试连接”。然后我右击 index.php 并选择“在浏览器中打开 - Chrome”

该文件打开到 chrome,然后我在 z-Ray 行中点击 Debug 标志,然后选择“调试当前页面”。

我很快就会看到一个窗口,上面有这个文本:Die Seite zf3-test2.dev funktioniert nicht zf3-test2.dev hat keine Daten gesendet。ERR_EMPTY_RESPONSE

进入 PhpStorm 进入事件日志我收到两次相同的消息:无法接受外部 Zend 调试器连接:无法评估表达式 'isset($_SERVER['PHP_IDE_CONFIG'])'

然后进入chrome,页面将显示。

所以目前无法进行调试。我能做些什么来修复它?

感谢您的帮助和问候。

0 投票
0 回答
29 浏览

php - 如何从源代码 php.so 构建 32 位 zend 调试器

Zend 调试器依赖于libssl.0.9.8,存储库中仅用于32bit体系结构的调试器。

实际debugger-64bit不想使用32bit libssl.so带有错误(php -m)的文件:

加载 /usr/lib/php5/ZendDebugger.so 失败:libssl.so.0.9.8:错误的 ELF 类:ELFCLASS32

如何为这个调试器或堆栈获取正确的debugger-32bitlibssl.sophp.so

0 投票
1 回答
39 浏览

php - Zend 调试器的 xdebug_break() 等价物是什么?

xdebug_break()Zend 调试器的等价物是什么?

0 投票
1 回答
32 浏览

php - 无法在 64 位 Windows 10 上安装 Zend 调试器

我在 Windows 10 64 位上安装 Zend Debugger 时遇到问题。我安装了 PHP 8.0.1,64 位版本。

我已经从 Zend(也是 64 位)下载了 ZendDebugger.dll 并放在我的“ext”文件夹中,并且相应地更新了 php.ini 文件。

当我尝试从命令行运行 php 时,我得到:

PHP Warning: Failed loading Zend extension 'ZendDebugger.dll' (tried: ext\ZendDebugger.dll (%1 is not a valid Win32 application), ...

这表明它找到了该文件,但由于它是错误的体系结构而无法使用它。此错误消息暗示 .dll 文件确实是 64 位的,但我不明白为什么需要 32 位版本。从命令行运行 php -i 和 Apache 下的 phpinfo() 都表明一切都是 64 位的。

我已经在互联网上搜寻了答案,但一无所获。

我错过了什么?