2011-08-10 19 views
1

我有一個AIR應用程序,它使用RemoteObject與PHP中的遠程服務(使用Zend AMF)進行通信。如何在AIR應用程序中調試PHP端?

該應用程序運行良好,但我無法調試PHP端(Flex調試器工作正常,PHP端是問題)。我在編寫Web應用程序(而不是AIR)時使用Flash Builder 4.5,我可以選擇將應用程序調試爲「Web(PHP)Application」,並且PHP端的斷點正在工作如預期。

但我看不到任何類似的桌面應用程序(AIR)選項。

有人知道在AIR應用程序中調試PHP端是否可行(以及如何)?

回答

1

使用類似xdebug或PHPStorm的東西。啓動調試會話,捕獲服務標識(可在GUI界面中獲得),並從AIR應用程序的所有請求中發送額外的標頭以包含XDEBUG_SESSION:。

+0

你知道怎麼用Zend Debugger做同樣的事嗎?或者只有xdebug纔有可能? – Enrique

0

調試過程實際上是一樣的。在調試模式下運行amf服務,只需將斷點放在任何你喜歡的地方。每當空中應用程序進行服務調用時,該進程就會自動停在斷點處。

+0

這顯然不適合我。我認爲這並不是那麼「簡單」,你爲什麼猜測,爲什麼Adobe會爲使用PHP進行調試做出不同的選擇(問題是此選項僅適用於Web和移動應用程序,而不適用於桌面)。 – Enrique

+0

如果它與flex一起工作並且不能在空氣中工作,那麼這很奇怪,因爲調用機制實際上是非常相同的。它只是一個http請求。但是你有沒有通過服務控制檯測試你的服務?它是(服務控制檯)一個靈活的,所以它會正常工作?並在同一時間(和參考相同的網址)撥打電話,讓我知道發生了什麼。 – ktutnik

+0

不,我是怎麼說的,我認爲你簡單地解釋了這個問題,爲什麼如果你不需要做額外的工作,Adobe會做兩個特殊的選項(調試Web(PHP)和調試移動(PHP)應用程序)?以及爲什麼該選項不在Desktop應用程序中?我認爲是不一樣的HTTP請求,當你使用瀏覽器時,你發送了很多額外的數據,查詢字符串,cookies等,我認爲Zend Debugger使用它。 AIR應用程序沒有發送該消息,我已將de查詢字符串添加到我的端點(url到網關),但它不起作用。您是否在AIR應用程序中調試PHP? – Enrique