📜  http 错误 500 nginx drupal (1)

📅  最后修改于: 2023-12-03 14:42:00.530000             🧑  作者: Mango

HTTP错误 500 Nginx Drupal

HTTP错误500意味着服务器遇到了意外情况,但无法准确地告诉客户端发生了什么。在Drupal中,HTTP错误500通常是由Nginx Web服务器引起的。在这篇文章中,我们将讨论如何诊断并解决这个问题。

诊断HTTP错误500

首先,您需要检查Nginx错误日志。Nginx的日志文件通常位于/var/log/nginx/error.log。打开错误日志文件,查找“HTTP错误500”的条目。如果有多个条目,请查看最新的一个。以下是一个示例错误日志:

2019/09/10 14:10:01 [error] 12345#12345: *6789 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 1234567 bytes)" while reading response header from upstream, client: 123.123.123.123, server: example.com, request: "GET /path/to/page HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "example.com"

在上面的日志中,错误消息为“Allowed memory size of 268435456 bytes exhausted (tried to allocate 1234567 bytes)”,这表明PHP尝试分配的内存超出了限制。为此,我们需要增加PHP的内存限制。

解决HTTP错误500

解决HTTP错误500的方法因具体原因而异。在本例中,我们需要增加PHP的内存限制。我们可以通过编辑/etc/php/7.2/fpm/php.ini文件来实现。

打开文件并找到以下行:

memory_limit = 256M

将256M更改为更高的值,如512M或1024M,然后保存并关闭文件。然后重新加载php-fpm配置:

sudo systemctl reload php7.2-fpm

现在,重新加载网站,该错误应该得到解决。如果错误仍然存在,请按上述步骤查找其他错误。

总结

HTTP错误500通常是由服务器上的错误引起的,但服务器无法准确地告诉客户端发生了什么。在Drupal中,HTTP错误500通常是由Nginx Web服务器引起的。要解决此问题,请查看Nginx的错误日志并查找具体原因。在本例中,我们需要增加PHP的内存限制。