使用 php 获取 ubuntu 风格


Get ubuntu flavor using php

我使用 phpinfo() 来确定远程服务器上安装的操作系统。它是Linux。有没有办法使用 php 确定 Linux 的风格?

Ubuntu 风格都是相同的操作系统——它们之间的唯一区别在于默认安装的软件包集。由于软件包可以在以后安装和删除,因此无法可靠地区分。

(Ubuntu 风格之间的大多数差异都在于默认的桌面环境和应用程序,无论如何,这在服务器上都不会引起太大的兴趣。事实上,大多数服务器可能根本不使用"调味"安装。

> 尝试从/etc/os-release中读取,例如

php > $test = parse_ini_file('/etc/os-release');
php > print_r($test);
Array
(
    [NAME] => Ubuntu
    [VERSION] => 12.04.3 LTS, Precise Pangolin
    [ID] => ubuntu
    [ID_LIKE] => debian
    [PRETTY_NAME] => Ubuntu precise (12.04.3 LTS)
    [VERSION_ID] => 12.04
)

PHP应该能够读取/etc/issue/proc/version,这些将适用于许多版本的Linux,并且应该可以非常精确地了解您的服务器。这是在一个流浪者Ububtu盒子上运行的:

<?php
$issue = file_get_contents('/etc/issue');
//  Ubuntu 12.04 LTS 'n 'l
$version = file_get_contents('/proc/version');
// Linux version 3.2.0-23-generic-pae (buildd@palmer) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012

但这不仅限于 Ubuntu,以下是基本共享服务器帐户的结果:

file_get_contents('/etc/issue');
// CloudLinux Server release 5.9 (Sergey Oleynikov)
// Kernel 'r on an 'm
file_get_contents('/proc/version');
// Linux version 2.6.18-408.8.2.el5.lve0.8.61.3 (mockbuild@koji.cloudlinux.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Wed Jul 11 06:49:35 EDT 2012