您现在的位置是:百科 >>正文
网站phpinfo
百科7人已围观
简介你丢一个 phpinfo.php 到服务器上,浏览器一打开,满屏的表格、变量、模块信息。这东西太常见了,常见到很多人把它当“探针”用,上线前跑一下,确认 PHP 版本、扩展、环境变量,然后立刻删掉。但 ...
你丢一个 phpinfo.php 到服务器上,网站浏览器一打开,网站满屏的网站表格、变量、网站模块信息。网站这东西太常见了,网站常见到很多人把它当“探针”用,网站上线前跑一下,网站确认 PHP 版本、网站扩展、网站环境变量,网站然后立刻删掉。网站但真正把 phpinfo 的网站输出从头翻到尾的人,其实不多。网站
我见过一个案例:某台机器上 upload_max_filesize 显示 2M,网站post_max_size 也是 2M,运维说“配置没问题”。结果用户传一个 1.8M 的图片就失败。为什么?因为 post_max_size 要略大于 upload_max_filesize,否则 multipart 请求的头部和边界数据会把实际可用空间吃掉。phpinfo 里这两个值并排显示,但如果不理解它们的关系,看了等于没看。
phpinfo 输出的第一块通常是 PHP 版本、编译参数、Server API。这里有个细节:Server API 如果是 FPM/FastCGI,说明 PHP 跑在 FPM 下;如果是 Apache 2.0 Handler,那 mod_php 模式。这两种模式下 .htaccess 能不能改 PHP 配置、getenv() 读到的环境变量是否一致,行为完全不同。有人从 Apache 迁到 Nginx + FPM,代码里 getenv('HOME') 突然返回空,查半天,其实就是 SAPI 变了。
再往下翻,Configuration File (php.ini) Path 和 Loaded Configuration File 这两行值得盯一眼。经常出现的情况是:你改了 /etc/php.ini,重启了服务,phpinfo 里 Loaded Configuration File 却指向 /etc/php/8.1/fpm/php.ini。改错文件了。还有 Scan this dir for additional .ini files,这个目录下的 .ini 会按字母序加载,后面的覆盖前面的。有人放了一个 99-custom.ini,结果被 zzz.ini 覆盖,调试半天。
扩展列表那块信息量最大。Core、date、libxml 这些是内置的,不用管。真正要看的是 opcache、redis、imagick 这类。如果 opcache.enable 显示 Off,那你的 PHP 性能至少损失 30%。memory_limit 在 Core 里,max_execution_time 也在 Core 里,但 max_input_vars 默认 1000,表单字段一多就丢数据,这个值在 phpinfo 里藏得比较深,在 Variable 表格的 max_input_vars 行。
环境变量区域(Environment 表格)经常被忽略。Docker 容器里跑 PHP,$_ENV 和 getenv() 能不能读到 MYSQL_HOST 这类变量,取决于 variables_order 里有没有 E。phpinfo 会列出所有环境变量,包括 PATH、PWD,甚至有时会泄露 AWS_SECRET_ACCESS_KEY。对,这就是为什么 phpinfo 文件绝对不能留在生产环境。
HTTP 头信息那块也很有意思。HTTP_USER_AGENT、HTTP_ACCEPT_ENCODING 这些是请求头,但 SERVER_SOFTWARE 会暴露 Nginx 或 Apache 版本。有人用 phpinfo 做“安全检测”,看到 Server API: FPM/FastCGI 就以为安全了,其实 expose_php 如果开着,响应头里还是会带 X-Powered-By: PHP/8.1.2。phpinfo 里 expose_php 显示 On 的时候,记得去 php.ini 里关掉。
最后,phpinfo 的输出格式本身也有讲究。phpinfo(INFO_MODULES) 只显示模块信息,phpinfo(INFO_VARIABLES) 只显示变量。phpinfo(INFO_ALL) 是默认全量。但如果你在 CLI 下跑 php -i,输出是纯文本,没有 HTML 表格,信息一样全。我习惯在终端里 php -i | grep opcache,比在浏览器里翻表格快得多。
一个 phpinfo() 页面,从版本号到环境变量,从扩展状态到 ini 加载路径,每一条都可能是一个坑的入口。别只把它当“看一眼就删”的探针,它其实是 PHP 运行时的一张体检单。看懂它,能省下不少瞎折腾的时间。
Tags:
下一篇:接口网站
相关文章
黄某故意泄露国家绝密级90项
百科黄某的案子,卷宗厚得能砸死人。90项国家绝密级内容,不是90张废纸,是90颗能炸穿国家安全防线的炸弹。判决书里写得清清楚楚,他利用职务之便,把那些涉及国防科研、战略部署的机密文件,像倒垃圾一样倒给了境 ...
【百科】
阅读更多只要几分钟 轻松开户 fxtm富拓
百科只要几分钟 轻松开户 fxtm富拓 上周三晚上十一点,我窝在沙发上刷手机,突然看到富拓的一条推送——原油点差降到了0.03。当时就想试试,可又懒得开电脑。结果点进开户页面,填了姓名、邮箱、手机号,上传 ...
【百科】
阅读更多教学视频下载网站免费
百科去年冬天,我在B站找一门Python数据分析课,UP主把视频拆成了47个片段,每段不超过十分钟。评论区置顶写着“完整版见简介”,点进去是个网盘链接,提取码在视频第3分17秒的弹幕里飘过。这种“藏宝式” ...
【百科】
阅读更多