好吧,我发现ISE 500有很多线程,但没有一个解决方案对我有用。
我为我们的客户开发了一个 facebook 应用程序来呈现一些音轨,当然,我希望通过 app_data 参数将一些参数传递给应用程序。所以我集成了facebook sdk 3.1.1。尽一切努力正确连接到 Facebook。
在我的本地 xampp 上一切正常,我们公司的网络服务器也可以毫无问题地运行该应用程序,我的私人网络空间也是如此。但是当我将应用程序上传到客户端服务器时,我得到一个 500:内部服务器错误。为了排除我这边任何奇怪的脚本错误,我尝试执行 sdk 附带的 example.php。同样的错误。即使我只是尝试像这样实例化 Facebook 类:
<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '???',
'secret' => '??????',
));
?>
我已经查看了服务器错误日志。它唯一提到的是:
“脚本头过早结束:example.php”
我还使用了广泛建议error_reporting(E_ALL);
的方法来避免服务器端的错误错误处理。没有。服务器只是不会告诉我出了什么问题。
我发现了很多其他人收到此错误的原因,最突出的原因是:
?>
facebook.php / base_facebook.php 中缺少标签Facebook
- 和的多个实例FacebookApiException
...提供的解决方案都不适合我。
所以我尝试比较客户端和我们公司服务器的phpinfos。当然有一些差异,但对我来说没有什么明显的。我在论坛上寻找人们已经与 ISE 500 相关联的基本内容,例如cURL 扩展、php 版本 (5.3.9)。我不是服务器管理员,我只对服务器配置有非常基本的了解。因此,为了确保缺少某些东西,我尝试查找 facebook sdk 的服务器要求...
...但整个网络不会告诉我 facebook sdk 的服务器要求。甚至 facebook 文档也没有提及任何内容。所以我希望这里可能有人可以帮助我解决这个问题。
是的...我已经向服务器管理员寻求帮助,他只是用两个问号看着我...是的...我必须使用客户端服务器:(叹息
感谢你在期待...
更新:
我将列出我尝试响应您的建议的事情:
服务器:
- 已安装 cURL 扩展 (7.20.1)
- php 版本为 5.3.9。
- 试图包含其他文件,工作正常。似乎不是路径问题
- 服务器错误日志只显示“脚本头过早结束:example.php”
- log_errors 已启用。error_log 说“没有价值”
- 尝试ini_set("display_errors", true);
进行错误跟踪...没有效果
更新 2
因此,我能够在逐行检查 facebook 文件后找出问题所在。内部服务器错误 500 在尝试启动会话后立即抛出:
if(!session_id())
{
session_start();
}
我将此信息转发给服务器管理员和客户端......我想它现在不在我的手中,当我得到答案时我会更新这篇文章。感谢您的反馈家伙:)
解决方案
好的,服务器管理员现在发现了问题。session.save_handler 设置为“用户”,他将其更改为“文件”,现在一切正常。:
session.save_handler = files
再次感谢您的帮助!