解决WordPress admin-ajax.php 500 (Internal Server Error)报错的大致思路

本站所有文章均为博主人工写作,绝无AI辅助成分,请放心参阅。

经常摆弄各种WordPress插件的人,对admin-ajax.php 500报错应该是不陌生的。表症就是在Console栏里看到如下报错。

用Ajax提交数据的插件,出现这类报错曾经让我很容易抓狂,因为它不直接输出PHP代码错误位置,你无法从这种报错中看出到底是哪个插件,哪行代码出的问题。老手应该知道,500报错都是可以从PHP报错日志找线索的。

记录一下LNMP环境下,如何开启和查看PHP报错日志,
首先找到 /usr/local/php/etc/php-fpm.conf 文件,加上两行配置:

php_admin_value[error_log] = /home/wwwlogs/php_errors.log
php_admin_flag[log_errors] = on

/home/wwwlogs/php_errors.log这个日志文件如果没有被自动创建,需要执行以下命令手动创建一下:

touch /home/wwwlogs/php_errors.log && chown www:www /home/wwwlogs/php_errors.log

然后重启php-fpm,再回调一遍之前碰到的500报错。最后打开/home/wwwlogs/php_errors.log,就可以看到问题在哪里了:

很明显这次是因为wpdb::prepare()命令少了参数引起的,这种情况在久未更新的插件中很常见,如果联系不到作者解决,就只能自己查文档修复了,不再展开…

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/1824.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

1 关于 “解决WordPress admin-ajax.php 500 (Internal Server Error)报错的大致思路” 的评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注