在服务器运维和项目部署过程中,为了兼容不同项目对PHP版本的要求,经常会在同一台服务器上配置多个PHP版本共存。此时如果需要查看某个特定PHP版本的运行信息,就需要明确如何选择对应的phpinfo输出,避免获取到错误版本的信息影响问题排查。

多PHP版本共存的基本原理
多PHP版本共存的核心是为不同版本的PHP分配不同的运行路径和进程标识。通常不同版本的PHP会安装在不同的目录,比如PHP7.4安装在/usr/local/php74,PHP8.1安装在/usr/local/php81,对应的可执行文件、配置文件、扩展目录都相互独立。Web服务器(如Nginx、Apache)会通过不同的配置规则,将不同的请求分配到对应版本的PHP-FPM进程或者CGI模块处理。
phpinfo版本的选择依据
phpinfo输出的信息完全对应当前执行该脚本的PHP解释器版本,因此选择的核心依据是执行phpinfo脚本的PHP进程属于哪个版本。如果是通过Web请求访问phpinfo文件,那么版本由处理该请求的Web服务器配置决定;如果是通过命令行执行,那么版本由当前命令行调用的php可执行文件决定。
比如Nginx配置了两个不同的站点,站点A使用PHP7.4的FPM池,站点B使用PHP8.1的FPM池,那么在站点A下访问phpinfo输出的是PHP7.4的信息,站点B下访问输出的是PHP8.1的信息。
指定版本查看phpinfo的方法
方法一:通过命令行指定PHP可执行文件
如果服务器上安装了多个PHP版本,可以直接调用对应版本的php可执行文件来运行phpinfo脚本,这种方式最直接,不受Web配置影响。
首先创建一个简单的phpinfo脚本文件,比如命名为check_php.php,内容如下:
<?php phpinfo();
然后通过对应版本的php可执行文件路径执行该脚本:
# 查看PHP7.4的phpinfo信息 /usr/local/php74/bin/php check_php.php # 查看PHP8.1的phpinfo信息 /usr/local/php81/bin/php check_php.php
方法二:Web环境下通过不同站点配置区分
如果是通过Web访问phpinfo文件,需要根据Web服务器的配置,将phpinfo文件放到对应PHP版本的站点目录下,或者修改站点配置指定PHP版本。
以Nginx+PHP-FPM为例,假设已经配置了两个FPM池,分别是php74-fpm.sock和php81-fpm.sock,对应的站点配置如下:
# PHP7.4站点配置
server {
listen 80;
server_name site74.test;
root /data/www/site74;
location ~ .php$ {
fastcgi_pass unix:/run/php/php74-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
# PHP8.1站点配置
server {
listen 80;
server_name site81.test;
root /data/www/site81;
location ~ .php$ {
fastcgi_pass unix:/run/php/php81-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
把check_php.php分别放到/data/www/site74和/data/www/site81目录下,访问http://site74.test/check_php.php就能看到PHP7.4的信息,访问http://site81.test/check_php.php就能看到PHP8.1的信息。
方法三:临时修改站点PHP版本配置
如果只有一个站点目录,需要临时查看不同版本的phpinfo,可以临时修改该站点的FPM配置指向,修改后重启Nginx和对应FPM服务即可生效。
比如原本站点使用PHP7.4,需要查看PHP8.1的信息,就把站点配置中的fastcgi_pass改为PHP8.1的FPM监听地址,修改后执行以下命令重启服务:
# 重启Nginx systemctl restart nginx # 重启PHP8.1 FPM systemctl restart php81-fpm
注意事项
- 修改Web服务器配置后一定要重启对应的服务,否则配置不会生效,可能还是获取到旧版本的信息。
- 命令行执行时如果直接用
php check_php.php,会使用系统默认的PHP版本,不一定是你需要查看的版本,需要指定完整的可执行文件路径。 - 查看完phpinfo信息后,建议及时删除服务器上的phpinfo脚本文件,避免泄露服务器配置信息带来安全风险。
PHP版本共存phpinfo指定PHP版本phpinfo查看方法修改时间:2026-06-10 10:30:20