付费主机上企业网站突发崩溃,提示set_magic_quotes_runtime未定义错误
解决方法
错误原因
set_magic_quotes_runtime() 函数在PHP 7.0及以上版本已被彻底移除,你的网站报错是因为主机服务商升级了PHP版本,旧代码调用了这个已废弃的函数。
具体修复步骤
- 定位到报错文件
/home/inplan/www/root/includes/framework.php的第21行,直接删除或注释掉调用set_magic_quotes_runtime()的代码。比如原代码是set_magic_quotes_runtime(0);,修改为:// set_magic_quotes_runtime(0); - 如果旧代码依赖魔术引号的行为,不要用恢复魔术引号的方式(不安全且过时),建议手动处理输入过滤:
- 对用户提交的GET/POST数据,使用
htmlspecialchars()处理输出防止XSS; - 数据库操作时,用对应扩展的转义函数(如
mysqli_real_escape_string())或参数化查询防止SQL注入。
- 对用户提交的GET/POST数据,使用
- 若暂时不想改代码,可联系主机服务商将PHP版本临时切换到PHP 5.6(仅临时方案,旧版本PHP无安全更新,不建议长期使用)。
内容的提问来源于stack exchange,提问作者Димитър Милчев
相关产品推荐
相关产品推荐

