jQuery - Ajax在某些帖子上返回错误500

Min*_*ure 6 javascript ajax jquery post cakephp

我有一些Ajax一直在现场工作,现在它已停止工作.Ajax应该返回一个页面,但返回500错误(内部服务器错误).

奇怪的是我可以导航并发布到Ajax正在调用的页面,因此页面只能通过Ajax调用($ .post)工作.

另一个奇怪的事情是它在当地工作正常,但不是活着.此外,该网站上的所有其他Ajax都在工作.

这有什么可能是最模糊的?顺便说一下,它是CakePHP的所有jQuery.

编辑:

apache错误日志说:"脚本标题过早结束:php-script,referer ......"

编辑2:

这一切都发生在我将服务器切换到SSL时.它说上面的错误,然后是"端口80".

Dan*_*ien 6

首先,这与jQuery,AJAX,POST,CakePHP或HTTP标头无关.完整的错误消息是"脚本过早结束",这意味着Apache用于运行PHP脚本的PHP进程意外终止(即,在PHP进程完成其部分Fast CGI协议之前).这通常意味着PHP进程崩溃或导致"分段错误".

PHP分段错误可能很难排除故障,它们永远不会发生; PHP永远不会崩溃.崩溃的原因可能是由于许多事情.也许这是一个简单的修复.

我要做的第一件事是完全卸载PHP并安装最新的稳定版本.如果您运行的是PHP 5.3和Windows,那么您应该只使用VC6二进制文件("VC6 x86 Thread Safe"软件包); 当使用Apache时,VC9包将导致PHP崩溃.重新安装可能会解决您的问题,因为较旧版本的PHP的扩展DLL/SO可能仍然存在于实时服务器上的扩展目录中.

如果在Windows上并使用MySQL,我要做的下一件事是确保MySQL bin目录在实时服务器中Path.这样做的原因是为了确保libmySQL.dll操作系统能够"找到".您应该能够SSH到实时服务器,键入mysql --help,并查看MySQL CLI客户端的用法消息.如果添加MySQL bin目录,请重新启动Apache Path.

如果这两个建议都无法解决问题,请通过以下答案更新您的问题:

  1. 您是使用网络主机还是公司IT团队管理服务器供您使用?
  2. 如果使用Web主机,您是否租用专用服务器?
  3. 你在运行什么操作系统?
  4. 您使用的是哪个版本的PHP?
  5. 正在加载什么PHP扩展?
  6. 你加载Zend扩展吗?
  7. 你用过dl吗?

更新:对于5.3.6及更高版本,PHP项目不再释放"VC6"安装程序.建议从Apache Lounge安装Apache HTTPD版本并使用"VC9"安装程序.