首页 > 解决方案 > 如何通过 PHP 获取 Ubuntu 版本?

问题描述

如果我尝试phpinfo(),我会看到系统是:

Linux php56-web-68 4.4.0-142-generic #168-Ubuntu

但我不知道它是什么 Ubuntu 版本?是 14.04 还是 16.04 还是其他?

有没有办法只使用标准 PHP 来获取这些信息?

标签: php

解决方案


另一种选择是使用cat /etc/lsb-release命令并将其输入 PHP 的shell_exec.

shell_exec应该产生类似的结果:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

之后,只需使用parse_ini_string解析输出,依次返回一个数组。

这是一个衬里:

echo parse_ini_string(shell_exec('cat /etc/lsb-release'))['DISTRIB_RELEASE'];

旁注:刚刚在我的 ec2 实例上进行了测试,它产生了18.04

比@jenesaisquoi 建议的上述答案更好的版本:

echo shell_exec('lsb_release -sr'); // 18.04

推荐阅读