PHP探针中文界面需同时满足:文件编码为UTF-8无BOM、主文件中LANG常量设为'zh'、服务器安装zh_CN.UTF-8 locale且PHP未禁用setlocale函数。

PHP探针默认界面语言取决于服务器环境的 LANG 或 LC_ALL 环境变量,但绝大多数探针(如雅黑PHP探针、LampPS探针)本身不提供「后台切换语言」功能——中文界面不是靠设置开启的,而是靠文件编码和语言包加载机制生效的。
确认探针是否自带中文语言文件
主流 PHP 探针(如 yasuo_probe.php 或 phpinfo_pro.php)通常将多语言文本硬编码在 PHP 文件内,或通过 include 加载语言文件(如 lang/zh-cn.php)。先检查探针根目录是否存在 lang/ 子目录及其中的 zh-cn.php 或 zh.php:
- 若存在且内容为中文键值对(如
$lang['server_info'] = '服务器信息';),说明支持中文,但需手动启用 - 若只有
en.php,则该版本探针未内置中文,强行改名或替换内容可能导致乱码或解析错误 - 部分探针用
define('LANG', 'zh');控制语言,需在主文件顶部附近查找并修改该常量
修改探针主文件中的语言常量或配置项
打开探针入口文件(通常是 index.php 或同名 PHP 文件),搜索以下关键词:
-
LANG或LANGUAGE:找到类似define('LANG', 'en');的行,改为define('LANG', 'zh'); -
setlocale:有些探针会调用setlocale(LC_ALL, 'zh_CN.UTF-8');,确保该 locale 在服务器上已安装(可通过locale -a | grep zh_CN验证) -
charset输出:检查是否有header('Content-Type: text/html; charset=gbk');这类声明,若存在且与文件实际编码(UTF-8)不一致,会导致中文显示为方块或乱码,应统一为charset=utf-8
文件编码必须为 UTF-8 无 BOM
即使语言常量已设为 zh,如果 PHP 文件本身保存为 GBK 或含 BOM 的 UTF-8,浏览器解析时会中断输出或报错 Cannot modify header information。验证和修复方式:
立即学习“PHP免费学习笔记(深入)”;
- 用 VS Code / Sublime Text 打开探针文件 → 右下角查看编码格式 → 若显示「UTF-8 with BOM」或「GBK」,请选择「Save with Encoding → UTF-8」
- Linux 下可用命令批量清理 BOM:
sed -i '1s/^\xEF\xBB\xBF//' probe.php
- 上传后访问探针页面,右键「查看网页源代码」,确认
存在且位置靠前
某些探针需配合 PHP 环境启用中文支持
极少数探针依赖系统级 locale 显示中文时间、日期或字符集转换函数(如 strftime())。若界面中时间/编码栏仍为英文,需检查:
- 服务器是否安装了中文 locale:
locale -a | grep 'zh_CN.utf8'
(若无输出,需运行locale-gen zh_CN.UTF-8并update-locale) - PHP 是否禁用了
setlocale:查看disable_functions是否包含该函数(phpinfo()页面搜索disable_functions) -
iconv或mbstring扩展未启用时,部分中文字符串处理会失败,导致界面截断或空白
真正卡住的往往不是“怎么设”,而是文件编码、语言常量位置、以及服务器 locale 三者没对齐。改完记得清浏览器缓存,再直接访问探针 URL,不要通过首页跳转——有些探针会根据 Referer 或 Cookie 错误判断语言。











