Azure部署WordPress迁移后出现500内部服务器错误求助
WordPress迁移后500内部服务器错误解决方法
错误根源
从调试信息可以明确:问题出在sticky-side-buttons插件的ssb-main.php第217行——代码调用count()函数时传入了null值,而PHP要求这个函数的参数必须是数组或可计数对象,因此触发致命错误导致网站空白。这大概率是迁移过程中插件的配置数据没正确导入,数据库里缺少该插件的相关选项,导致代码执行时获取到的变量为空。
解决步骤
1. 先让网站恢复访问(临时禁用插件)
通过FTP工具或Azure门户的文件管理器,找到网站根目录下的/wp-content/plugins/文件夹,找到sticky-side-buttons文件夹,把它重命名为sticky-side-buttons-disabled。WordPress会自动识别并禁用这个插件,此时网站就能正常打开了。
2. 修复插件代码(若想继续使用该插件)
如果还需要这个插件的功能,打开sticky-side-buttons目录下的ssb-main.php文件,定位到第217行的count()调用代码,修改成以下两种方式之一:
- 方式一:给变量设置空数组默认值
(把count($your_variable ?? [])$your_variable替换成代码里实际的变量名) - 方式二:先判断是否可计数
这样就能避免传入is_countable($your_variable) ? count($your_variable) : 0null导致的错误。
3. 重装或重新配置插件
网站恢复后,也可以直接删除这个插件,重新安装最新版本,然后手动配置插件的各项设置;如果旧站点有插件的配置备份,也可以把对应配置导入到新站点的数据库中。
4. 检查PHP版本兼容性
确认新站点的PHP版本和旧站点是否一致,高版本PHP(比如7.4及以上)对类型检查更严格,部分旧插件可能不兼容。如果版本不一样,可以在Azure门户调整PHP版本到和旧站点相同的版本试试。
内容的提问来源于stack exchange,提问作者tiana
相关产品推荐
相关产品推荐

