2012-01-10 69 views
3

我使用Zend調試器和PDT進行PHP開發,並遇到調試Facebook PHP的問題。我使用SDK中的example.php來測試。該應用程序在Facebook上運行良好,但我在設置斷點時遇到了麻煩。我曾嘗試過:如何在本地調試Facebook PHP應用程序?

  1. 從Eclipse運行 - 應用程序未按預期運行。儘管我可以設置斷點和調試,但我得到了空值$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']

  2. 從Facebook運行 - 應用程序按預期運行,但忽略斷點。

我爲我的DNS查找使用DYNDNS,並更改了我的主機文件以將URL重定向到本地主機。

我甚至不確定#1是否可能,但使用eclipse並不需要像#2那樣刷新網頁。有任何想法嗎?

+0

Facebook可能會提供$ _SERVER ['HTTP_HOST']和$ _SERVER ['REQUEST_URI']值,所以這將是您的主要問題。 – blazingkin 2012-01-10 03:21:46

+0

似乎#1不會工作。有沒有人能夠從瀏覽器啓動一個php Facebook應用程序,並使用zend調試器在本地機器上創建一箇中斷點?如果不是開發人員如何調試Facebook的PHP代碼? – 2012-01-10 20:23:23

回答

1

嘗試定義局部域在OS 的hosts文件的本地服務器(在Windows,你可以找到它在C:\Windows\System32\drivers\etc

例如,如果你的服務器上localhost運行添加行

local.mydomain.com 127.0.0.1 

在facebook開發人員網站(在您的應用程序設置中),將應用程序的域設置爲mydomain.comlocal.mydomain.com,併爲畫布網址(如果您在Facebook畫布中工作)設置應用程序的本地網址。

例如:

Canvas URL: http://local.mydomain.com/my_application/index.php 

你應該做的最後一件事是改變特定頁面的URL調試(在Eclipse的菜單Run->Debug Configuration)在畫布上的網址。 (例如http://apps.facebook.com/my_fb_app/)。

+0

我做了以下調試工作。 1)所有的Facebook開發人員設置保持my.domain.com 2)在eclipse調試配置中將根服務器更改爲http://apps.facebook.com。 在調試配置中單擊測試調試器會返回一個關於找不到dummy.php的錯誤,但會啓動應用程序並觸發斷點。 – 2012-01-16 00:50:59

相關問題