![Nginx FastCGI 日志中的错误:38 FastCGI 在 stderr 中发送:“PHP 消息:PHP 警告:hash_equals():预期 known_string 为字符串](https://linux22.com/image/781255/Nginx%20FastCGI%20%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%9A38%20FastCGI%20%E5%9C%A8%20stderr%20%E4%B8%AD%E5%8F%91%E9%80%81%EF%BC%9A%E2%80%9CPHP%20%E6%B6%88%E6%81%AF%EF%BC%9APHP%20%E8%AD%A6%E5%91%8A%EF%BC%9Ahash_equals()%EF%BC%9A%E9%A2%84%E6%9C%9F%20known_string%20%E4%B8%BA%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我正在运行启用了快速 cgi 的 LEMP 服务器(Ubuntu 20.04 服务器),并且在我的一个虚拟主机(我的一个网站)的日志中收到以下错误消息。以下是我的网站和 IP 地址被删除后的完整错误:
[error] 2041#2041: *38 FastCGI sent in stderr: "PHP message: PHP Warning: hash_equals(): Expected known_string to be a string, null given in /var/www/example.com/wp-includes/pluggable.php on line 2508" while reading response header from upstream, client: 123.456.789.123, server: example.com, request: "POST /wp-login.php HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "example.com", referrer: "https://example.com/wp-login.php"
有人可以向我解释这个错误以及如何修复它吗?
答案1
该消息包含您需要的所有信息:
hash_equals(): Expected known_string to be a string, null given
这表明hash_equals()
函数期望known_string
是一个字符串,无论null
给出的是什么值。
/var/www/example.com/wp-includes/pluggable.php on line 2508
这会告诉您哪个文件包含错误以及错误位于文件中的哪一行。
您需要查看该行的代码,看看为什么该函数接收“ǹull”作为参数。
如果您自己无法确定原因,可以在 StackOverflow 上询问。