由于 TranslatePress trp-ajax.php 出现异常,WordPress 网站返回 HTTP 500

问题描述 投票:0回答:1

我正在开发双语网站,对于其中一种受支持的语言,服务器会抛出 HTTP 500,并在 Nginx 日志中记录以下记录:

2024/05/03 11:55:49 [error] 3493#3493: *16346 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught TypeError: implode(): Argument #1 ($pieces) must be of type array, string given in /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php:153
Stack trace:
#0 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(153): implode()
#1 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(36): TRP_Ajax->output_translations()
#2 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(186): TRP_Ajax->__construct()
#3 {main}
  thrown in /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php on line 153" while reading response header from upstream, client: 141.136.91.90, server: DOMAIN, request: "POST /wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm.sock:", host: "DOMAIN", referrer: "https://DOMAIN/ru/cart/"

我发现了https://wordpress.org/support/topic/trp-ajax-php-returns-500/中描述的类似问题,但那里的提示没有帮助。

有人可以帮忙吗?我怀疑缺少一些字符串翻译,但需要找出如何调试来证明它。

php wordpress translation multilingual
1个回答
0
投票

已解决,问题在于错误的翻译字符串 -

#%
而不是正确的
#%s
,这导致了异常。

© www.soinside.com 2019 - 2024. All rights reserved.