gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:42 26 4
gpt4 key购买 nike

我有一些 Ajax 一直在实时站点上工作,现在它停止工作了。 Ajax 应该返回一个页面,但返回的是 500 error (internal server error)。 .

奇怪的是我可以导航并发布到 Ajax 调用的页面,所以该页面只是无法通过 Ajax 调用($.post)工作。

另一个奇怪的事情是它在本地工作正常,但不是实时的。该网站上的所有其他 Ajax 也都在工作。

谁知道这可能是什么?顺便说一句,这都是 jQuery 和 CakePHP。

编辑:

apache 错误日志说:“脚本 header 过早结束:php-script、referer...”

编辑 2:

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

最佳答案

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

PHP 段错误很难解决,而且永远不应该发生; PHP 不应该崩溃。它崩溃的原因可能是由于多种原因造成的。不过,也许这是一个简单的修复。

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

如果在 Windows 上使用 MySQL,接下来我要做的是确保 MySQL bin 目录位于实时服务器的 Path 中。 .这样做的原因是为了确保操作系统可以“找到”libmySQL.dll。您应该能够通过 SSH 连接到实时服务器,键入 mysql --help,然后查看 MySQL CLI 客户端的使用消息。如果将 MySQL bin 目录添加到 Path,请重新启动 Apache。

如果这两个建议都不能解决问题,那么请用以下答案更新您的问题:

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

更新:在 5.3.6 及更高版本中,PHP 项目不再发布“VC6”安装程序。建议安装来自 Apache Lounge 的 Apache HTTPD 版本。并使用“VC9”安装程序。

关于javascript - jQuery - Ajax 在某些帖子上返回错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com