Linux下如何查看PHP版本信息?

在Linux系统中查询PHP版本信息是日常开发和服务器维护中的常见需求,根据PHP的安装方式(如源码编译、包管理器安装、多版本共存等)和运行环境(CLI模式、Web服务器模式),有多种查询方法,以下是详细的操作步骤和适用场景分析,帮助用户准确获取PHP版本信息。

linux如何查php版本信息

命令行直接查询(CLI模式)

PHP命令行接口(CLI)是Linux系统中常用的PHP运行模式,通过终端命令可以直接查询版本信息,这是最快捷的方式。

使用 php -v 命令

命令格式

php -v

适用场景
当PHP已通过系统包管理器(如aptyum)或源码编译安装,且PHP可执行文件在系统PATH环境变量中时,此命令可直接生效。

输出示例

PHP 8.1.2 (cli) (built: Jan 12 2023 10:20:30) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies

说明

  • 第一行显示PHP版本(如1.2)、运行模式(cli为命令行,fpm为FastCGI)及编译时间;
  • 第二行为版权信息;
  • 第三行为Zend引擎版本(PHP核心执行引擎)。

处理命令不存在的情况

若执行php -v提示command not found,可能原因包括:

  • 未安装PHP CLI:部分系统默认只安装Web服务器模式的PHP(如PHP-FPM),需单独安装CLI版本。
    • Ubuntu/Debian系统:sudo apt install php-cli
    • CentOS/RHEL系统:sudo yum install php-cli(需先安装EPEL源)
  • PHP未添加到PATH:若通过源码编译安装PHP,可执行文件可能位于/usr/local/php/bin等自定义路径,需临时指定路径执行:
    /usr/local/php/bin/php -v

    或将PHP路径添加到~/.bashrc/~/.bash_profile环境变量中,永久生效。

查询多版本PHP

若系统共存多个PHP版本(如PHP 7.4和PHP 8.1),包管理器安装的通常会生成版本化命令(如php7.4 -vphp8.1 -v),可通过以下方式确认:

  • Ubuntu/Debianls /usr/bin/php*
  • CentOS/RHELls /usr/bin/php*ls /usr/local/bin/php*
    执行对应版本命令即可,

    php8.1 -v  # 查询PHP 8.1版本
    php7.4 -v  # 查询PHP 7.4版本

Web环境查询(服务器模式)

当PHP运行在Web服务器(如Apache、Nginx)中时,需通过浏览器或Web脚本查询版本信息,适合确认服务器实际运行的PHP版本。

使用 phpinfo() 函数

操作步骤

  1. 在Web服务器根目录(如/var/www/html)创建一个PHP文件,例如info.php; 写入:
    <?php
    phpinfo();
    ?>
  2. 保存后通过浏览器访问http://服务器IP/info.php,页面将显示PHP的详细配置信息。

关键信息位置
在页面顶部“PHP Version”字段可直接查看版本(如“PHP Version 8.1.2”),同时可查看加载的扩展、配置文件路径等。

linux如何查php版本信息

注意事项

  • 查询完成后需删除info.php文件,避免泄露服务器敏感信息(如路径、扩展配置等);
  • 若Web服务器未正确配置PHP解析,需检查模块加载情况(如Apache的mod_php或Nginx的php-fpm)。

通过 php -i 查看配置信息(CLI模式)

若无法访问Web环境,可通过CLI模式输出PHP配置信息并过滤版本号:

php -i | grep "PHP Version"

输出示例

PHP Version => 8.1.2

此方法适合脚本化处理或快速获取版本号,无需输出完整配置信息。

配置文件查询

PHP的配置文件php.ini中可能包含版本相关线索,但需结合其他命令定位文件路径。

定位 php.ini 路径

执行以下命令获取当前PHP使用的配置文件路径:

php --ini

输出示例

Configuration File (php.ini) Path: /etc/php/8.1/cli
Loaded Configuration File:         /etc/php/8.1/cli/php.ini
Scan for additional .ini files in: /etc/php/8.1/cli/conf.d

说明

  • 第一行为php.ini的目录路径;
  • 第二行为当前加载的php.ini完整路径。

检查 php.ini

打开php.ini文件(需root权限),通过搜索PHPversion定位版本信息,但通常php.ini中不直接存储版本号,需结合php -vphpinfo()确认。

包管理器查询(适用于系统安装的PHP)

若PHP通过系统包管理器(aptyum等)安装,可通过查询已安装包列表获取版本信息。

Ubuntu/Debian 系统(使用 dpkg

dpkg -l | grep php

输出示例

linux如何查php版本信息

ii  php8.1-cli              8.1.2-1ubuntu2.1              amd64        command-line interpreter for the PHP scripting language
ii  php8.1-fpm              8.1.2-1ubuntu2.1              amd64        PHP's FastCGI Process Manager

说明

  • 第一列ii表示包已正确安装;
  • 第二列为包名(如php8.1-cli表示PHP 8.1的CLI版本);
  • 第三列为版本号(如1.2-1ubuntu2.1)。

CentOS/RHEL 系统(使用 rpm

rpm -qa | grep php

输出示例

php-cli-8.1.2-1.el8.remi.x86_64
php-fpm-8.1.2-1.el8.remi.x86_64

说明:包名格式与Debian不同,但版本号位于中间位置(如1.2)。

不同查询方法的对比总结

为方便用户选择合适的方法,以下通过表格对比各查询方式的特点:

方法类别 具体命令/操作 适用场景 优点 缺点
命令行CLI查询 php -vphp7.4 -v 快速查询CLI模式版本,多版本共存场景 简单快捷,无需依赖Web环境 需确认PHP CLI已安装
Web环境查询 创建phpinfo()文件访问浏览器 确认Web服务器实际运行的PHP版本 信息全面,可查看扩展和配置 需Web环境支持,需临时创建文件
配置信息过滤 php -i | grep "PHP Version" 脚本化处理或快速获取版本号 输出简洁,适合自动化 需熟悉命令行管道操作
包管理器查询 dpkg -l | grep phprpm -qa | grep php 查询系统通过包管理器安装的PHP版本包 可确认安装的包版本 无法直接显示运行时版本

相关问答FAQs

问题1:为什么执行 php -v 提示 “command not found”?

解答
出现该错误通常有两个原因:

  1. 未安装PHP CLI:部分Linux系统默认只安装Web服务器模式的PHP(如PHP-FPM),需单独安装CLI版本。
    • Ubuntu/Debian:sudo apt update && sudo apt install php-cli
    • CentOS/RHEL:sudo yum install php-cli(需先配置EPEL或Remi源)
  2. PHP未添加到PATH:若通过源码编译安装PHP,可执行文件可能位于自定义路径(如/usr/local/php/bin),需临时指定路径执行:
    /usr/local/php/bin/php -v

    或将PHP路径添加到~/.bashrc环境变量中(执行echo 'export PATH=/usr/local/php/bin:$PATH' >> ~/.bashrc && source ~/.bashrc)。

问题2:如何确认Web服务器(如Nginx)使用的PHP版本不是CLI版本?

解答
Web服务器(如Nginx)通常通过PHP-FPM或FastCGI模式运行PHP,其版本可能与CLI版本不同,可通过以下方式确认:

  1. 通过 phpinfo() 查询:在Web根目录创建info.php<?php phpinfo(); ?>),浏览器访问后查看“PHP Version”字段,该版本即为Web服务器实际运行的PHP版本。
  2. 检查PHP-FPM配置:PHP-FPM的配置文件(如/etc/php/8.1/fpm/php-fpm.conf/etc/php/8.1/fpm/pool.d/www.conf)中会指定执行的PHP路径,可通过以下命令查看:
    grep "php-fpm" /etc/nginx/sites-enabled/default  # 查看Nginx配置中的PHP-FPM路径

    或直接查看PHP-FPM版本:

    php-fpm8.1 -v  # 若PHP-FPM版本化命令存在
  3. 使用 ps 命令查看进程:执行ps aux | grep php-fpm,查看PHP-FPM进程的启动路径,
    www-data 1234  0.0  0.5  40228 21004 ?        Ss   10:00   0:00 php-fpm: www process (stream=sock, role=Worker)

    若路径中包含php8.1,则说明运行的是PHP 8.1版本的FPM。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34053.html

(0)
酷番叔酷番叔
上一篇 2025年10月1日 22:51
下一篇 2025年10月1日 23:07

相关推荐

  • Linux线程的底层实现机制在内核层面究竟是如何运作的?

    在Linux操作系统中,线程的实现并非内核层面的“原生线程”,而是基于轻量级进程(LWP, Light Weight Process)和用户态线程库(如NPTL, Native POSIX Threads Library)的组合机制,这种设计既兼顾了内核调度的效率,又符合POSIX线程标准(pthread),为……

    2025年8月31日
    8700
  • 在Linux系统中如何关闭相应端口?具体的操作步骤方法详解

    在Linux系统中,端口是应用程序与外部通信的入口,关闭不必要的端口是提升系统安全性的重要措施,关闭端口通常涉及两种场景:一种是终止占用端口的进程,使端口自然释放;另一种是通过防火墙规则禁止外部访问该端口,即使进程仍在运行,以下是具体操作方法和注意事项,查看端口占用情况在关闭端口前,需先确认端口是否被占用及占用……

    2025年9月17日
    7900
  • Linux系统启动的详细步骤是怎样的?

    Linux系统的启动是一个涉及硬件、固件和软件协同工作的复杂过程,从用户按下电源键到最终进入用户界面,经历了一系列精心设计的初始化阶段,理解这一流程不仅有助于系统管理,也能在出现启动故障时快速定位问题,以下从硬件加电开始,逐步拆解Linux系统的完整启动链路,电源开启与BIOS/UEFI初始化按下电源键后,计算……

    2025年9月22日
    7000
  • linux如何查看空间

    Linux 中,可使用df -h命令查看磁盘空间使用情况,包括各

    2025年8月17日
    10400
  • 如何查看Linux内核版本号的具体操作方法?

    在Linux系统中,内核作为操作系统的核心,承担着硬件资源管理、进程调度、内存分配等关键任务,其版本信息直接关系到系统的兼容性、安全性及性能优化,无论是驱动安装、系统故障排查,还是安全补丁更新,准确获取内核版本都是首要步骤,本文将详细介绍多种查看Linux内核版本的方法,涵盖命令行工具、系统文件及图形界面等不同……

    2025年9月8日
    90200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信