Linux系统中如何通过命令查看PHP的详细版本信息?

Linux系统中,查询PHP版本是开发运维中的常见需求,无论是调试环境、依赖检查还是版本升级,都需要准确获取当前PHP版本信息,本文将详细介绍多种在Linux中查询PHP版本的方法,涵盖命令行、网页环境、配置文件等场景,并针对不同Linux发行版提供具体操作示例,帮助用户快速定位所需信息。

linux 如何查php版本

通过命令行直接查询(最常用)

命令行查询是最直接的方式,适用于已安装PHP CLI(命令行接口)的环境,PHP CLI通常与PHP-FPM或Apache/Nginx模块的PHP版本一致,但需注意多版本共存时可能需指定路径。

基础命令:php -v

这是最简洁的命令,直接输出PHP版本、编译信息及模块列表。
操作步骤

  • 打开终端,输入以下命令:
    php -v
  • 输出示例(以PHP 8.2为例):
    PHP 8.2.10 (cli) (built: Sep 10 2023 15:25:10) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.2.10, Copyright (c) Zend Technologies
      with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

    其中第一行的PHP 8.2.10即为核心版本号,cli表示当前环境为命令行模式。

指定PHP路径查询(多版本场景)

若系统安装了多个PHP版本(如PHP 7.4和PHP 8.1),默认php命令可能指向某个版本,需通过绝对路径或版本号指定。

  • 方法1:使用whichwhereis查找PHP路径

    which php  # 查找默认php命令路径(如/usr/bin/php)
    whereis php  # 查找所有php相关路径(如/usr/bin/php /etc/php/8.1/cli/php.ini)

    根据路径执行,

    /usr/bin/php -v  # 执行默认版本
    /usr/bin/php8.1 -v  # 若安装了php8.1命令,可直接调用
  • 方法2:使用update-alternatives管理(Ubuntu/Debian)
    若通过update-alternatives管理多版本PHP,可通过以下命令查看及切换:

    sudo update-alternatives --config php  # 列出可用PHP版本并选择

使用php --version(与-v等效)

该命令与php -v功能完全一致,输出内容相同,可根据习惯选择:

php --version

通过网页环境查询(适用于服务器环境)

若PHP运行在Web服务器(如Apache、Nginx)中,可通过创建PHP信息页面查看版本,同时可检查模块配置、环境变量等详细信息。

操作步骤:

  1. 创建PHP信息文件:
    在网站根目录(如/var/www/html)创建info.php如下:

    linux 如何查php版本

    <?php
    phpinfo();
    ?>
  2. 访问文件:
    通过浏览器访问http://your_domain/info.phpyour_domain替换为实际域名或IP),页面会显示详细的PHP配置信息。

  3. 定位版本信息
    在页面顶部“PHP Version”字段即可看到当前PHP版本号(如“PHP 8.1.2”)。

注意事项:

  • 安全性:phpinfo()会暴露服务器配置、路径等敏感信息,排查完成后务必删除该文件。
  • 多站点环境:若使用虚拟主机,需确保文件放在对应站点的根目录,并检查Web服务器配置是否允许访问。

通过PHP配置文件路径推断版本

PHP配置文件(如php.ini)的路径通常包含版本信息,可通过定位配置文件间接判断PHP版本。

操作步骤:

  1. 查找php.ini路径:

    php --ini  # 输出PHP CLI的配置文件路径

    输出示例

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

    路径中的2即为PHP版本号。

  2. 查看Web环境的php.ini
    若需查询Web服务器使用的PHP版本,可通过以下方式定位配置文件:

    • Apache:执行phpinfo()页面查找“Loaded Configuration File”字段。
    • Nginx+PHP-FPM:通过ps aux | grep php-fpm查看PHP-FPM进程,根据进程路径(如/usr/sbin/php8.1-fpm)推断版本。

通过包管理器查询(适用于源码包安装环境)

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

Ubuntu/Debian系统(使用apt

dpkg -l | grep php  # 列出所有已安装的PHP相关包
apt list --installed | grep php  # 更直观显示包名及版本

输出示例

php8.2-cli/now 8.2.10-1+ubuntu22.04.1+deb.sury.org+1 amd64 [installed,local]
php8.2-fpm/now 8.2.10-1+ubuntu22.04.1+deb.sury.org+1 amd64 [installed,local]

包名中的php8.2即为核心版本。

linux 如何查php版本

CentOS/RHEL系统(使用yumdnf

rpm -qa | grep php  # 使用yum(CentOS 7及以下)
dnf list installed | grep php  # 使用dnf(CentOS 8及以上)

输出示例(CentOS 8,使用dnf):

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

通过Composer或Laravel Artisan间接查询

在开发环境中,若使用Composer管理依赖或Laravel框架,可通过相关工具间接获取PHP版本(适用于快速验证环境)。

Composer版本依赖

composer --version  # 查看Composer版本,其依赖的PHP版本会显示在括号中

输出示例

Composer version 2.5.8 2023-06-09 17:13:51
PHP 8.2.10 - /usr/bin/php8.2

Laravel Artisan命令

若项目使用Laravel,可通过artisan命令查看环境信息:

php artisan --version  # 查看Laravel版本
php artisan about      # Laravel 10+支持,输出详细环境信息(含PHP版本)

方法对比与选择

为方便用户根据场景选择合适方法,以下通过表格总结各方法的适用场景及优缺点:

方法 适用场景 优点 缺点
php -v 命令行环境,快速查询 简单直接,无需额外操作 需确保PHP CLI已安装
网页phpinfo() Web服务器环境,需详细配置信息 信息全面,可查模块/环境变量 需创建临时文件,存在安全风险
配置文件路径推断 无执行权限,需通过路径判断版本 适合排查安装路径问题 需结合路径解析,不够直观
包管理器查询 源码包安装环境,确认安装的包版本 可查所有PHP相关依赖包 需熟悉包管理器命令
Composer/Artisan 开发环境,依赖框架/工具的场景 间接验证,适合开发流程 依赖工具是否安装,非直接查询

相关问答FAQs

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

解答
该错误通常表示系统中未安装PHP CLI或PHP CLI未添加到系统环境变量(PATH),解决方法:

  1. 安装PHP CLI
    • Ubuntu/Debian:sudo apt update && sudo apt install php-cli
    • CentOS/RHEL:sudo yum install php-cli(或dnf install php-cli
    • 若需指定版本(如PHP 8.1),需先添加第三方源(如Ondřej Surý的PHP源)。
  2. 检查环境变量
    执行echo $PATH,确认PHP安装路径(如/usr/bin)是否包含在PATH中,若未包含,需添加到~/.bashrc/etc/profile中。

Q2:Linux系统安装了多个PHP版本(如PHP 7.4和PHP 8.1),如何查看所有已安装的PHP版本?

解答
可通过以下组合命令全面排查多版本PHP:

  1. 查看命令行可用的PHP版本
    ls /usr/bin/php*  # 列出所有php可执行文件(如php7.4、php8.1)
  2. 通过包管理器查询已安装的PHP包
    • Ubuntu/Debian:dpkg -l | grep php | awk '{print $2}' | cut -d'-' -f1 | sort -u
    • CentOS/RHEL:rpm -qa | grep php | cut -d'-' -f1 | sort -u
  3. 查看Web服务器使用的PHP版本
    • 若使用PHP-FPM,执行systemctl status php*-fpm(如php7.4-fpmphp8.1-fpm)查看运行状态。
    • 通过phpinfo()页面确认Web环境实际加载的PHP版本。

通过以上方法,可全面掌握系统中所有PHP版本的安装及运行情况,便于多版本环境的管理与切换。

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

(0)
酷番叔酷番叔
上一篇 2025年10月2日 01:14
下一篇 2025年10月2日 01:27

相关推荐

  • 如何在win7进入linux

    Win7系统中使用虚拟机软件如VMware、VirtualBox安装Linux系统,或通过双系统

    2025年8月18日
    3200
  • 你更愿意要钱还是自由?

    挂起进程的原理Linux通过信号(Signal)控制进程状态:SIGSTOP (19):强制暂停进程(不可被进程忽略),SIGCONT (18):恢复被暂停的进程,SIGTSTP (20):终端发出的暂停信号(可被进程捕获处理),操作步骤查找目标进程ID(PID)使用 ps 或 pgrep 定位进程:ps au……

    2025年7月31日
    4000
  • 如何用wget下载整个网站

    SCP(安全复制协议)原理:基于SSH加密传输,适合中小文件,命令格式:scp [选项] 用户名@远程IP:远程文件路径 本地保存路径示例:复制单个文件(远程22端口,用户名为user)scp -P 2222 user@192.168.1.100:/home/user/data.txt /local/dir……

    2025年7月8日
    5000
  • Linux重启网络后连接不上,如何排查解决?

    在Linux系统中,重启网络服务后连接不上是常见问题,可能涉及服务状态、配置文件、网卡驱动、DNS设置或防火墙等多方面因素,本文将从排查步骤到解决方法详细说明处理流程,基础排查:确认网络服务状态重启网络后,首先检查服务是否正常启动,不同发行版使用的网络管理服务不同,例如CentOS 7+和RHEL 7+默认使用……

    2025年10月8日
    900
  • 为什么显示器刷新率是59.96Hz而非60Hz?

    图形界面设置(推荐新手)GNOME桌面(Ubuntu/Fedora等)步骤:设置 → 显示 → 在分辨率下拉菜单选择目标值(如1920×1080)→ 点击应用 → 确认弹窗提示(15秒内不确认自动还原),注意:若目标分辨率未列出,需先检查驱动或创建自定义分辨率,KDE Plasma(Kubuntu/KDE Ne……

    2025年7月25日
    3900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信