簡體   English   中英

如何配置Heroku的Facebook教程應用程序以通過PHP在本地運行?

[英]How to configure Heroku's Facebook tutorial app to run locally with PHP?

我正在嘗試運行Heroku的基本教程facebook應用程序( http://devcenter.heroku.com/articles/facebook )。 按照說明進行操作,在Heroku上進行部署就可以了。 嘗試在本地部署時出現以下錯誤

解析錯誤:語法錯誤,第36行上的C:\\ Program Files \\ Apache Software Foundation \\ Apache2.2 \\ htdocs \\ AppInfo.php中出現意外的':'。

我知道getHome函數存在一些問題,在這里找到了與python類似問題的答案-使用Python 運行Heroku的Facebook應用程序教程時出現問題 ,但我仍然無法弄清楚應該如何為PHP完成。

我試圖將getHome函數更改為僅return http://127.0.0.1:5000/ (例如我在我的facebook應用程序上設置的站點URL),但是隨后我發現瀏覽器無法連接到它。

我有在本地運行的Safari 2.2,基本的Hello world PHP文件運行正常。

提前致謝。

看您的評論,您在這里所做的事情是錯誤的。 它應該是

return ($_SERVER['HTTP_X_FORWARDED_PROTO']) ?: "http:" . "://" . $_SERVER['HTTP_HOST'] . "/";

該應用程序依靠PHP 5.3運算符在該行上執行“等於”操作。 它是這樣的:

$foo ?: "bar";

這意味着:假設設置了$ foo的值,否則為“ bar”。 為了使其與早期版本的PHP兼容,您必須使用其他運算符和函數將其重寫。 喜歡:

isset($foo) ? $foo : "bar";

因此,回到應用程序,您可以使用以下方法進行修復:

$protocol = isset($_SERVER['HTTP_X_FORWARDED_PROTO']) ? $_SERVER['HTTP_X_FORWARDED_PROTO'] : "http";
return $protocol . "://" . $_SERVER['HTTP_HOST'] . "/";

這篇文章有更多關於PHP或equals和Alternatives的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM