如何在本地调试Facebook PHP应用程序


How can I locally debug Facebook PHP applications?

我正在使用Zend调试器和PDT进行PHP开发,在调试Facebook PHP时遇到了问题。我正在使用SDK中的example.php进行测试。该应用程序在Facebook上运行良好,但我在设置断点时遇到了问题。我试过:

  1. 从Eclipse运行-应用程序没有按预期运行。虽然我可以设置断点和调试,但我得到了$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']的空值。

  2. 从Facebook运行-应用程序按预期运行,但忽略断点。

我正在使用DynDNS进行DNS查找,并已更改主机文件以将URL重定向到本地主机。

我甚至不确定#1是否可行,但如果使用Eclipse而不必像#2那样刷新网页,那就太好了。有什么想法吗?

尝试在操作系统的hosts文件中为本地服务器定义一个本地域(在Windows中,您可以在C:'Windows'System32'drivers'etc中找到它)。

例如,如果您的服务器运行在localhost上,请添加以下行:

local.mydomain.com 127.0.0.1

在Facebook开发者网站上(在您的应用程序设置中),将应用程序的域设置为local.mydomain.commydomain.com,并为画布URL(如果您在Facebook画布中工作)设置应用程序的本地URL。

例如:

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

最后,将特定页面的调试URL(在Eclipse的菜单Run*→Debug Configuration中)更改为画布的URL(例如,http://apps.facebook.com/my_fb_app/)。