PHPStudy中关闭register_globals是基础安全加固,需在php.ini中设为Off;该选项自PHP 4.2默认关闭、5.4已移除,但旧环境仍需手动确认并修改,同时建议同步关闭expose_php、display_errors等高危配置。

PHPStudy 中关闭全局变量(register_globals)是基础安全加固动作,核心就是把 php.ini 里的开关设为 Off。这个参数自 PHP 4.2 起默认关闭,5.4 版本已彻底移除,但旧环境或迁移项目仍可能残留开启状态,必须手动确认并关闭。
确认当前 register_globals 状态
先检查是否真的开着,避免误操作:
- 打开 PHPStudy → “其他选项菜单” → “打开配置文件” → 选择“php-ini”
- 在打开的 php.ini 文件中搜索
register_globals - 若找到类似
register_globals = On或未注释的该行,说明处于开启状态,需修改
修改 php.ini 关闭全局变量
直接改配置项,无需重启服务即可生效(但需重载 PHP 进程):
- 将
register_globals = On改为register_globals = Off - 如果该行被注释(前面有分号
;),去掉分号再设为Off - 若整行不存在,可在
[PHP]段落末尾手动添加:register_globals = Off - 保存文件
验证修改是否生效
光改配置不够,得确认运行时已加载新设置:
立即学习“PHP免费学习笔记(深入)”;
- 在网站根目录新建一个
info.php,内容为:<?php phpinfo(); ?> - 浏览器访问
http://localhost/info.php - 搜索
register_globals,确认显示值为 Off(不是 Disabled 或空白) - 同时检查
Loaded Configuration File路径,确保你编辑的就是这个文件
配套建议:同步收紧其他关键安全项
单独关 register_globals 不够,建议一并调整以下几项(都在同一 php.ini 中):
-
expose_php = Off—— 隐藏 PHP 版本头信息 -
display_errors = Off和log_errors = On—— 错误不显示在页面,只记录到日志 -
allow_url_include = Off和allow_url_fopen = Off—— 阻断远程文件包含风险 -
open_basedir = /www/wwwroot/your-site:/tmp—— 限制脚本只能访问指定目录(按实际路径填写)
改完所有配置后,在 PHPStudy 主界面点击“重启”按钮,让新设置生效。不需要手动杀进程或重装软件。



















