【问题标题】:Get ubuntu flavor using php [duplicate]使用 php 获取 ubuntu 风格 [重复]
【发布时间】:2013-10-09 16:30:47
【问题描述】:

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

【问题讨论】:

  • 我相信this是你要找的:
  • 我已经明确表示我现在知道操作系统我想知道它的味道。您发布的链接仅提供有关操作系统的信息。
  • 查看@duskwuff 的回答,确实是重复的。
  • 使用它来查找操作系统版本。 echo exec("cat /etc/*-release");
  • @david。刚刚编辑了我的问题

标签: php ubuntu


【解决方案1】:

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

(Ubuntu 风格之间的大部分区别在于默认桌面环境和应用程序,无论如何这对服务器来说并没有太大的兴趣。事实上,大多数服务器可能没有使用“风格”安装完全没有。)

【讨论】:

  • 我刚刚编辑了我的问题。我用 ubuntu 这个词代替了 linux。
【解决方案2】:

尝试阅读/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
)

【讨论】:

    【解决方案3】:

    PHP 应该能够从/etc/issue/proc/version 读取数据,它们可以在多种Linux 版本上运行,并且应该能够生成非常精确的服务器图像。这是在 Vagrant 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-14
      • 2021-09-16
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 2019-02-23
      • 2014-06-01
      相关资源
      最近更新 更多