Google App Engine上的Facebook Apps(PHP基础版)

时间:2011-01-04 07:21:17

标签: php facebook google-app-engine

我刚刚完成了用PHP开发的facebook应用程序,现在我正在寻找一个免费的网络主机,经过一些谷歌搜索,我发现有些人声称他们可以使用Google App Engine(GAE)成功运行应用程序但是,在我按照这些页面上的步骤后

http://raivoratsep.com/42/running-quercus-php-on-app-engine/ http://php-apps.appspot.com/

我可以运行一些基本的PHP脚本,但是当我包含facebook.php(需要'facebook.php')并在facebook上运行时,似乎发生了错误,没有任何显示。

如果有人在使用PHP的GAE上体验facebook,请提供帮助。

非常感谢〜!

YK

4 个答案:

答案 0 :(得分:2)

目前使用PHP的GAE并不多。一个免费的替代方案是:

他们免费为您提供:

  • MySQL支持
  • FTP
  • SVN
  • 还有更多......

答案 1 :(得分:1)

如果设置了以下内容,则可以看到可能的错误:

的error_reporting(E_ALL); ini_set('display_errors',1);

脚本开头的某个地方。

答案 2 :(得分:1)

我在GAE上只跟踪了PHP的一个问题,这确实很常见。它不支持curl的https调用。

通常可以通过将网址更改为http来轻松解决这个问题,因为例如在Google OpenID [1]和Facebook sdk调用的情况下,无论如何,他们的结束都会重定向到https。因此快速修复Facebook类[2]是将$ DOMAIN_MAP https更改为http或替换getUrl方法上的字符串

$url = str_replace('https://', 'http://', self::$DOMAIN_MAP[$name]);

除此之外,您需要选择_graph方法抛出的异常并添加

if ((string)$e == 'OAuthException: You must use https:// when passing an access token') return $result;
抛出$ e之前

;

在某些情况下,您可能需要设置$ _SERVER ['HTTPS'] ='关闭';但我还没有运行Facebook提供的所有单元测试......

如果您没有被迫使用CURL,那么您可以在PHP脚本上使用带URL的URLFetch技巧:

import java.net.URL;
define('URLFetchServiceFactory', new Java('com.google.appengine.api.urlfetch.URLFetchServiceFactory'));
echo URLFetchServiceFactory->getURLFetchService()->fetch(new URL('https://www.google.com/'))->getContent();

它缺少curl提供的巨大功能列表,但在简单的情况下效果很好。

答案 3 :(得分:0)

是的,你可以从GAE中使用它。

你只需要使用SDK的这个分支,它使用http流,否则使用CURL。

https://github.com/camfitz/facebook-php-sdk

我正在使用它并且工作正常!

相关问题