Php 500内部服务器错误取决于外部加载的文件?

Php 500内部服务器错误取决于外部加载的文件?,php,apache,internal-server-error,http-status-code-500,external-dependencies,Php,Apache,Internal Server Error,Http Status Code 500,External Dependencies,我有一个500内部服务器错误,在我的情况下,很可能认为加载外部文件是我的问题。 在我的状态栏中,我收到一条消息,正在等待可用的套接字… 我在谷歌搜索时发现了以下信息: PHP编码超时 如果您的PHP脚本进行外部网络连接,则连接 可能会暂停。如果尝试的连接太多且超时,则此 将导致“500内部服务器错误”。以防止这些超时 和错误,您需要确保PHP脚本使用 一些超时规则。但是,通常在以下情况下捕获超时错误: 连接到数据库或从外部连接到远程资源(例如: RSS提要)是很困难的。实际上,他们冻结了来自 继

我有一个500内部服务器错误,在我的情况下,很可能认为加载外部文件是我的问题。 在我的状态栏中,我收到一条消息,
正在等待可用的套接字…

我在谷歌搜索时发现了以下信息:

PHP编码超时

如果您的PHP脚本进行外部网络连接,则连接 可能会暂停。如果尝试的连接太多且超时,则此 将导致“500内部服务器错误”。以防止这些超时 和错误,您需要确保PHP脚本使用 一些超时规则。但是,通常在以下情况下捕获超时错误: 连接到数据库或从外部连接到远程资源(例如: RSS提要)是很困难的。实际上,他们冻结了来自 继续运行

删除任何外部连接都可以提高 您的网站,并减少您收到“500”内部评级的机会 服务器错误。“

1) 我从Web服务器动态生成/加载css和js文件(
*.php
文件)。所以我不知道现代浏览器是否真的缓存了这个,或者根本不能缓存这个,并在每次加载页面时将其作为一个新请求处理?因为PHP会根据给定的参数来生成,这些参数告诉我们应该加载哪个css/js。这是否是可能导致此500内部服务器错误的问题

2) 您可以推荐什么Chrome扩展来跟踪和调试所有网络数据?除了ChromeDevTools之外,一般有什么工具可以帮助我

3) 引用的文本说我必须处理超时问题。我应该检查哪些重要来源?ajax请求或者php会话会成为问题吗

4) 最重要的是:如何修复此错误?如果这有助于说明,可以在www.vaymodels.com上导航该域。我不能用任何浏览器打开它,甚至不能用我的智能手机(禁用WiFi)。也许你们中的某个人可以打开它并查看页面源代码

同样值得一提的是,这种行为在过去几天才刚刚开始。我不断上传文件,因为我在我的网站上工作,刷新了很多领域,随机它没有加载5-10分钟。但在那之后,它可以在没有500错误的情况下达到。现在它似乎遥不可及


编辑:我的网络主持人刚刚告诉我,他们将我的FPM限制从15提高到了30。他说,php进程太多了。这可能是因为我正在通过cronjob加载的文件执行mysql查询,或者我应该查找哪些进程,最有可能是问题所在?

您应该首先了解是什么脚本导致了错误。您可以查看错误日志,或者在可疑脚本的顶部添加:

ini_set("display_errors",1);
error_reporting(E_ALL);
这将帮助您了解问题所在,但也可能会中断输出,因此在生产环境中使用时要小心

关于js和css资源的缓存:您可以使用.htaccess文件中的一些指令指示apache告诉浏览器使用文件的缓存副本,如:

<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/css                  "access plus 1 month"
ExpiresByType application/javascript    "access plus 1 month"
ExpiresByType text/javascript           "access plus 1 month"

<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>

</IfModule>

过期于
ExpiresByType文本/css“访问加1个月”
ExpiresByType应用程序/javascript“访问加1个月”
ExpiresByType文本/javascript“访问加1个月”
标头附加缓存控制“公共”
还要记住,在生产环境中,这样的过期限制可能是好的,因为您不应该经常更改它们


希望有帮助。

1。如果文件的URL相同,则浏览器可能会缓存该URL。如果它导致了问题?不知道!我们不知道你的代码是什么样子。2.请求第三方软件是离题的,所以,chrome插件无法看到服务器上发生了什么(因为它不会向浏览器返回任何内容)。3.可以在php.ini中或使用
iniset()
设置超时。谷歌:“在php中设置超时”。4.我不能说如何“修复”这个错误,因为我们无法知道是什么导致了它。你检查过错误日志了吗?我刚刚编辑了我的问题。谢谢你指出这一点。如果我知道哪些部分与我的案例相关,我会显示我的代码。我完全搞混了,因为我主要在前端工作,对不起。我会仔细研究那个问题。此外,我无法访问我的错误日志,但正如我的编辑所说:这与FPM限制和太多进程有关。我认为我的工作可能导致了这一点,但我不确定这是否是一个我应该考虑的过程。