- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几周来,我一直在尝试让我的 PHPStorm 通过 Xdebug 连接到远程主机。最近我发现客户端的主机阻塞了端口 9000。我终于修复了这个问题,现在 xdebug 日志显示它正在连接到客户端(当然是我)。
但是,它不会在任何断点处停止。在 PHPStorm 中设置的断点甚至不会显示在日志中。调用 xdebug_break();
至少会被记录为中断,但它仍然不会停止。
根据此处的其他问题,我已确认 xdebug 加载了 zend_extention=/full/path/xdebug.so
而不是 extension=xdebug.so
我也试过从端口 9000 切换到端口 9001,结果没有任何变化。
日志条目是:
Log opened at 2015-06-09 14:41:10 //and many other dates and times
I: Checking remote connect back address.
I: Remote address found, connecting to MY.IP.HE.RE:9000. //similar message on port 9001 after trying that
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///chroot/home/company/remotehost.com/html/index.php" language="PHP" protocol_version="1.0" appid="2294" idekey="PHPSTORM"><engine version="2.2.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="break" reason="ok"><xdebug:message filename="file:///chroot/home/company/remotehost.com/html/app/code/community/Zzyzzx/Stores/controllers/TestController.php" lineno="11"></xdebug:message></response>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Log closed at 2015-06-09 14:41:13
它从中获取的文件在 IDE 中设置了 3 个断点,一个在第 11 行编码。
可能是什么导致它无法跟随断点并让我调试?
我在服务器设置中使用的路径是 /home/company/remotehost.com/html
映射到我的项目根目录,其中包含相同的文件。我知道这是从 root 开始的绝对路径,如果我知道它是由显示代码中断的日志确认的。它是唯一具有路径集的文件。我需要为每个文件设置路径吗?
我也尝试删除服务器以希望触发对话,但它没有被触发,我只是得到与新时间/日期/IP 完全相同的日志条目。
我刚刚发现,每当我尝试重新加载我正在调试的页面时,在我的“运行”菜单中都有一个“恢复程序”选项,它会显示一个包含我正在尝试调试的文件的列表。单击它会打开调试工具窗口,其中显示消息“正在等待来自 JetBrains IDE Chrome 支持扩展的连接...”。这不是用来调试 javascript 的吗?它是否试图将我的 PHP 调试为 Javascript?
我还尝试使用其他几个 xdebug 客户端,结果相似。它连接然后给出相同的消息。让我觉得这不是 PHPStorm。
我所做的一切都是为了调试以下代码:
class Zzyzzx_Stores_TestController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
echo "in the controller 1 <br />";
xdebug_break();
echo "in the controller 2 ";
//3 commented lines of unused code
//
//
phpinfo();
//2 commented lines of unused code
//
}
}
每次“回声”时,ide中都设置了断点,当然你可以看到编码断点。
在本地调试这个工作正常。
最佳答案
断点不起作用的一个原因是 Mac OSX 奇怪的区分大小写。
我发现,如果文件名与类的大小写不匹配,则仅该文件的断点将不起作用,即使应用程序的其余部分调试正常,并且“在第一行中断”显示调试器通常可以正常工作。
OSX 上的文件系统本质上是不区分大小写的,但奇怪的是命令行是区分大小写的,这会让您误以为它更像其他区分大小写的 Unix。然后,这会让您相信永远不会出现大小写不匹配,因为它会完全损坏并且您会注意到!
但是我觉得 OSX 的运行方式确实更像 Windows - 在这方面非常宽容,直到您将文件上传到 Linux 服务器...
我在 LegacyJSONMetadataMapper.php
中有一个名为 LegacyJsonMetadataMapper
的类。自动加载器工作正常,应用程序工作正常,PHPStorm 没有提到大小写的区别——我没有注意到。但它根本不会触发任何断点。一个小时后摆弄映射和服务器配置(已经工作多年!),然后我阅读了 a PHPStorm bug report其中提到了这方面。我更改了大小写,断点现在起作用了。
请注意,如果命名空间路径中的任何文件夹也不匹配命名空间“slugs”的大小写,也会发生这种情况。我只是遇到了同样的问题(有些断点有效,有些无效)。
关于debugging - Xdebug 即使在记录中断时也不会在断点处停止,但表示它已连接到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781486/
尝试使用集成到 QTCreator 的表单编辑器,但即使我将插件放入 QtCreator.app/Contents/MacOS/designer 也不会显示。不过,相同的 dylib 文件确实适用于独
在此代码示例中。 “this.method2();”之后会读到什么?在返回returnedValue之前会跳转到method2()吗? public int method1(int returnedV
我的项目有通过gradle配置的依赖项。我想添加以下依赖项: compile group: 'org.restlet.jse', name: 'org.restlet.ext.apispark', v
我将把我们基于 Windows 的客户管理软件移植到基于 Web 的软件。我发现 polymer 可能是一种选择。 但是,对于我们的使用,我们找不到 polymer 组件具有表格 View 、下拉菜单
我的项目文件夹 Project 中有一个文件夹,比如 ED 文件夹,当我在 Eclipse 中指定在哪里查找我写入的文件时 File file = new File("ED/text.txt"); e
这是奇怪的事情,这个有效: $('#box').css({"backgroundPosition": "0px 250px"}); 但这不起作用,它只是不改变位置: $('#box').animate
这个问题在这里已经有了答案: Why does OR 0 round numbers in Javascript? (3 个答案) 关闭 5 年前。 Mozilla JavaScript Guide
这个问题在这里已经有了答案: Is the function strcmpi in the C standard libary of ISO? (3 个答案) 关闭 8 年前。 我有一个问题,为什么
我目前使用的是共享主机方案,我不确定它使用的是哪个版本的 MySQL,但它似乎不支持 DATETIMEOFFSET 类型。 是否存在支持 DATETIMEOFFSET 的 MySQL 版本?或者有计划
研究 Seam 3,我发现 Seam Solder 允许将 @Named 注释应用于包 - 在这种情况下,该包中的所有 bean 都将自动命名,就好像它们符合条件一样@Named 他们自己。我没有看到
我知道 .append 偶尔会增加数组的容量并形成数组的新副本,但 .removeLast 会逆转这种情况并减少容量通过复制到一个新的更小的数组来改变数组? 最佳答案 否(或者至少如果是,则它是一个错
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
noexcept 函数说明符是否旨在 boost 性能,因为生成的对象中可能没有记录异常的代码,因此应尽可能将其添加到函数声明和定义中?我首先想到了可调用对象的包装器,其中 noexcept 可能会产
我正在使用 Angularjs 1.3.7,刚刚发现 Promise.all 在成功响应后不会更新 angularjs View ,而 $q.all 会。由于 Promises 包含在 native
我最近发现了这段JavaScript代码: Math.random() * 0x1000000 10.12345 10.12345 >> 0 10 > 10.12345 >>> 0 10 我使用
我正在编写一个玩具(物理)矢量库,并且遇到了 GHC 坚持认为函数应该具有 Integer 的问题。是他们的类型。我希望向量乘以向量以及标量(仅使用 * ),虽然这可以通过仅使用 Vector 来实现
PHP 的 mail() 函数发送邮件正常,但 Swiftmailer 的 Swift_MailTransport 不起作用! 这有效: mail('user@example.com', 'test
我尝试通过 php 脚本转储我的数据,但没有命令行。所以我用 this script 创建了我的 .sql 文件然后我尝试使用我的脚本: $link = mysql_connect($host, $u
使用 python 2.6.4 中的 sqlite3 标准库,以下查询在 sqlite3 命令行上运行良好: select segmentid, node_t, start, number,title
我最近发现了这段JavaScript代码: Math.random() * 0x1000000 10.12345 10.12345 >> 0 10 > 10.12345 >>> 0 10 我使用
我是一名优秀的程序员,十分优秀!