【问题标题】:Using XDebug with SublimeText on a WAMP server在 WAMP 服务器上使用 XDebug 和 SublimeText
【发布时间】:2016-10-17 19:18:21
【问题描述】:

我已经研究了好几个小时了,有一次它实际上是在测试页面上工作,但我不知道从那以后发生了什么,因为它停止工作了。我经常遇到这个错误:

错误:b'加载 c:\wamp\bin\php\php5.6.19\ext\php_xdebug-2.4.1-5.6-vc11.dll\n 失败'

这很奇怪,因为当我将它添加到我的 php.ini 文件时,它肯定正在加载文件:

zend_extension = "c:\\wamp\\bin\\php\\php5.6.19\\zend_ext\\php_xdebug-2.4.1-5.6-vc11.dll"

它告诉它确实已启用。在 php.ini 文件中,我发现: 在我阅读的教程中,xdebug.ini 文件出现在其中一个字段中: 以下是我的 php.ini 文件中的完整设置:

然后检查 phpinfo(),我现在看到 xdebug 的部分:

当我跑步时

if (xdebug_is_enabled()) { echo '它已启用'; }

[xdebug]zend_extension = "c:\\wamp\\bin\\php\\php5.6.19\\zend_ext\\php_xdebug-2.4.1-5.6-vc11.dll"
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
xdebug.remote_log= "C:\\wamp\\tmp\\xdebug.log"
xdebug.profiler_enable=0
xdebug.profiler_output_dir = "C:\\wamp\\tmp"
xdebug.collect_params = 4
xdebug.collect_return = on
xdebug.collect_vars = on
xdebug.show_local_vars = 3

老实说,我不知道其中一半参数的作用。这是我的崇高项目的设置:

    "settings":
{
    "xdebug":
    {
        "url": "localhost/xdebug_test"
    },
    "sublime-view-in-browser": {
         "baseUrl": "http://localhost/xdebug_test",
         "basePath": "C:\\wamp\\www\\xdebug_test"
    }
}

在 XDebug.sublime.settings 里面我添加了 URL:

"url": "http://localhost/xdebug_test"

这里是 xdebug_test 文件夹中的索引文件:

但是当我启动调试器并启动浏览器时,它会立即回显测试,并且 xdebug 控制台中什么也没有出现: 它昨天在那个确切的文件上工作,我不知道从那以后会发生什么变化。

有没有办法诊断它有什么问题?我不这么认为,因为这不仅仅发生在崇高的文本中,当我在终端中运行 PHP 脚本时会发生以下情况:

编辑:我刚刚在 phpinfo() 中发现 IDE 密钥设置为 PHPSTORM。这很奇怪,因为在 xdebug 设置文件中,它的设置是这样的:

"ide_key": "sublime.xdebug",

这可能是问题吗?我可以在这里做些什么来进一步诊断问题吗?

【问题讨论】:

    标签: php xdebug


    【解决方案1】:

    您是否尝试在项目设置中更改 xdebug url?

    "xdebug":
    {
        "url": "http://localhost/xdebug_test"
    
    }
    

    【讨论】:

    • 我只是试着把它改回默认值 "url": "" ,它没有改变任何东西。
    • 好的.. 也尝试在 php.ini 中更改 xdebug.remote_host="localhost"
    【解决方案2】:

    如果你使用这个版本的 dll - https://xdebug.org/files/php_xdebug-2.4.1-5.6-vc11-nts.dll 怎么办?后缀“nts”表示“非线程安全”。

    当然你可以使用 XDebug 向导找出你需要哪个 dll 版本和设置 - https://xdebug.org/wizard.php

    【讨论】:

    • 我尝试了非线程安全版本,但它根本不起作用,phpinfo() 中没有任何显示。
    【解决方案3】:

    我将我的信息粘贴到向导中,这就是我得到的

    我会试试非线程版本。

    【讨论】:

      【解决方案4】:

      我发现了问题,xdebug 连接到了错误的端口。我在C:/wamp/tmp/xdebug.log 中找到了日志文件并查看了最新消息,并且有很多行说同样的事情:

      日志于 2016-10-21 16:09:25 打开 I:连接到配置的地址/端口:localhost:9001。 E:连接客户端超时。 :-( 日志于 2016-10-21 16:09:26 关闭

      我怀疑问题出在端口上,我检查了php.ini 文件并将其设置为9001,然后我检查了Xdebug.sublime-settings 并注意到端口设置为9000。我将 php.ini 中的端口设置为 9000,现在 xdebug 正在工作。

      我仍然不知道为什么它会给我那些关于无法加载扩展的错误。奇怪,因为它肯定在加载它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 2013-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多