【问题标题】:How to Debug PHP side in an AIR application?如何在 AIR 应用程序中调试 PHP 端?
【发布时间】:2011-10-24 08:23:41
【问题描述】:

我有一个 AIR 应用程序,它使用 RemoteObject 与 PHP 中的远程服务通信(使用 Zend AMF)。

应用程序运行良好,但我无法调试 PHP 端(Flex 调试器运行良好,PHP 端是问题所在)。

我正在使用 Flash Builder 4.5 for PHP,当我编写 Web 应用程序(不是 AIR)时,我可以选择将应用程序调试为“Web (PHP) 应用程序”,并且 PHP 端的断点工作为预计。

但我看不到桌面应用程序 (AIR) 的任何类似选项。

有人知道是否可以(以及如何)在 AIR 应用程序中调试 PHP 端?

【问题讨论】:

    标签: php apache-flex debugging air desktop-application


    【解决方案1】:

    使用 xdebug 或 PHPStorm 之类的东西。启动调试会话,捕获服务 ID(在两者的 GUI 界面中都可用)并在来自 AIR 应用程序的所有请求中发送附加标头以包含 XDEBUG_SESSION: 。

    【讨论】:

    • 你知道如何用 Zend Debugger 做同样的事情吗?还是只有 xdebug 才有可能?
    【解决方案2】:

    调试过程其实是一样的。在调试模式下运行您的 amf 服务,只需将断点放在您喜欢的任何位置。每当空中应用程序进行服务调用时,该进程将自动在断点处停止。

    【讨论】:

    • 这显然对我不起作用。而且我认为这并不是您猜测的那么“简单”,为什么 Adob​​e 会为使用 PHP 进行调试提供不同的选项(问题是此选项仅适用于 Web 和移动应用程序,而不是桌面)。
    • 如果它与 flex 一起工作而与 air 无关,那就太奇怪了,因为调用机制实际上非常相同。它只是一个http请求。但是您是否通过服务控制台测试了您的服务?它是(服务控制台)一个 flex,所以它可以正常工作吗?同时(并引用相同的网址)从空中拨打电话,让我知道发生了什么。
    • 不,我怎么说,我认为您将问题过于简单化了,如果您不需要,为什么 Adob​​e 会提供两个特殊选项(调试 Web (PHP) 和调试移动 (PHP) 应用程序)做任何额外的事情吗?为什么该选项不在桌面应用程序中?我认为不是同一个 http 请求,当您使用浏览器时,您会发送很多额外的数据、查询字符串、cookie 等,我认为 Zend Debugger 使用它。 AIR 应用程序没有发送它,我已将 de 查询字符串添加到我的端点(到网关的 URL),但它不起作用。您是否在 AIR 应用程序中调试 PHP?
    • 对不起,我不使用 PHP,而是使用 .Net(氟)服务,我经常使用 AIR 应用程序调试我的服务器端代码。即使在今天我再次检查以确保它是否是由新的空气环境引起的,但它工作正常..
    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2022-11-03
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    相关资源
    最近更新 更多