如何解释 php_uname 的输出

2023-12-02

来自manual我得到的信息是:

mode is a single character that defines what information is returned:

    'a': This is the default. Contains all modes in the sequence "s n r v m".
    's': Operating system name. eg. FreeBSD.
    'n': Host name. eg. localhost.example.com.
    'r': Release name. eg. 5.1.2-RELEASE.
    'v': Version information. Varies a lot between operating systems.
    'm': Machine type. eg. i386.

所以我创建了一个函数

function interpret_php_uname(){
    $release_info["os_name"] = php_uname('s');
    $release_info["uname_version_info"] = php_uname('v');
    $release_info["machine_type"] = php_uname('m');
    $release_info["php_uname"] = php_uname();
    return $release_info;
}

有没有办法从 Ubuntu 上的 uname 中获取更多有用的信息?

Linux geisterhaufen 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

尤其找出分布(俏皮的“Ubuntu 13.10”)来自“uname_version_info”部分,在我的机器上是这样的:

#23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013

<?php
function interpret_php_uname(){
    $release_info["os_name"] = php_uname('s');
    $release_info["uname_version_info"] = php_uname('v');
    $release_info["machine_type"] = php_uname('m');
    $release_info["kernel"] = php_uname('r');
    $release_info["php_uname"] = php_uname();

    $distribution["4.10"]=array("Warty Warthog", "2.6.8");
    $distribution["5.04"]=array("Hoary Hedgehog", "2.6.10");
    $distribution["5.10"]=array("Breezy Badger", "2.6.12");
    $distribution["6.06"]=array("Dapper Drake", "2.6.15");
    $distribution["6.10"]=array("Edgy Eft", "2.6.17");
    $distribution["7.04"]=array("Feisty Fawn", "2.6.20");
    $distribution["7.10"]=array("Gutsy Gibbon", "2.6.22");
    $distribution["8.04"]=array("Hardy Heron", "2.6.24");
    $distribution["8.10"]=array("Intrepid Ibex", "2.6.27");
    $distribution["9.04"]=array("Jaunty Jackalope", "2.6.28");
    $distribution["9.10"]=array("Karmic Koala", "2.6.31");
    $distribution["10.04"]=array("Lucid Lynx", "2.6.32");
    $distribution["10.10"]=array("Maverick Meerkat", "2.6.35");
    $distribution["11.04"]=array("Natty Narwhal", "2.6.38");
    $distribution["11.10"]=array("Oneiric Ocelot", "3.0");
    $distribution["12.04"]=array("Precise Pangolin", "3.2");
    $distribution["12.10"]=array("Quantal Quetzal", "3.5");
    $distribution["13.04"]=array("Raring Ringtail", "3.8");
    $distribution["13.10"]=array("Saucy Salamander", "3.11");
    $distribution["14.04"]=array("Trusty Tahr", "3.13");

    foreach($distribution as $distribution=>$name_kernel){
        list($name,$kernel)=$name_kernel;
        if(version_compare($release_info["kernel"],$kernel,'>=')) {
            $release_info["ubuntu_distribution"]=$distribution;
            $release_info["ubuntu_distribution_name"]=$name;
        }
    }

    return $release_info;
}
$release_info=interpret_php_uname();
var_export($release_info);

将打印例如:

array (
  'os_name' => 'Linux',
  'uname_version_info' => '#23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013',
  'machine_type' => 'x86_64',
  'kernel' => '3.11.0-15-generic',
  'php_uname' => 'Linux geisterhaufen 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64',
  'ubuntu_distribution' => '13.10',
  'ubuntu_distribution_name' => 'Saucy Salamander',
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解释 php_uname 的输出 的相关文章

随机推荐

  • 实时更新网页

    我正在制作一款类似于 Risk 的基于浏览器的多人回合制策略游戏 现在 最简单的方法似乎就是让它像普通网页一样 每次玩家刷新时 网页都会向数据库查询所需的信息 这是可以接受的 但我更愿意实时更新页面 这样玩家就不必不断刷新页面 我可以让网页
  • 导出 ES6 模块中的多个类

    我正在尝试创建一个导出多个 ES6 类的模块 假设我有以下目录结构 my module Foo js Bar js index js Foo js and Bar js每个导出一个默认的 ES6 类 Foo js export defaul
  • 在应用程序工厂之外访问 Flask 配置

    我目前正在使用带有蓝图的 Flask 应用程序工厂模式 我遇到的问题是如何访问应用程序工厂之外的 app config 对象 我不需要 Flask 应用程序中的所有配置选项 我只需要6把钥匙 因此 我当前执行此操作的方法是在调用 creat
  • 使用变量从 SSIS 执行进程任务运行 SQLCMD 脚本

    我有一个 sql 文件 其中包含包含 SQLCMD 元素的脚本 我需要让它从 SSIS 包运行 我无法从 执行SQL Task 根据这个http www sqlservercentral com Forums Topic818940 147
  • Python 神经网络中不需要的 [Nan] 输出

    这里是新手 刚刚从 JS 切换到 Python 来构建神经网络 但从中获得了 Nan 输出 奇怪的是我的 sigmoid 函数 似乎没有遇到任何溢出 但导数会导致混乱 import numpy as np def sigmoid x ret
  • 反向网格排列?

    我的右侧有一个侧边栏 左侧有内容 div class col md 9 p Main At large zoom currently it goes to top I want it to go to the bottom p div di
  • array_merge 和 array + array 有什么区别? [复制]

    这个问题在这里已经有答案了 一个相当简单的问题 有什么区别 merged array merge array1 array2 and merged array1 array2 这是一个简单的说明性测试 ar1 0 gt 1 0 a gt 1
  • Cocos2d 应用中的 NSTimer

    Cocos2d 文档中写道 使用 NSTimer 不是一个好主意 为什么不推荐使用NSTimer 我知道Cocos2d有一个schedule方法 尽量不要使用 Cocoa 的 NSTimer 而是使用 cocos2d 自己的调度程序 如果您
  • 通过 TCP/IP 接收对象

    我将通过 TCP IP 编写一个程序 我应该通过客户端或服务器发送对象 当我想发送或接收字符串但当我尝试读取对象时 它会正常进行 private Socket client public ThreadedClient Socket clie
  • 使用 applicationcontext.getbean 与 @configurable 的优点[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 使用有什么好处 可配置与上
  • 从原始资源文件夹播放 .MP4 视频

    我见过很多类似的问题 但到目前为止我还没有能够解决任何问题 我正在尝试从 res raw 文件夹播放视频 MP4 但只获得音频 没有视频 视频很短 约3秒 很小 350KB 如果我将视频直接放在设备 Motorola Droid 上 它可以
  • 下载之前如何知道文件的大小?

    我必须下载一个文件并且我正在使用这段代码 这基本上是一个AsyncTask这是为了更新进度条 但是 由于我不知道文件大小是多少 所以我不得不使用旋转进度条 那么 如何在开始下载之前获取文件大小 以便我可以使用正常的进度条 你可以获得一个名为
  • 使用 ARM NEON 汇编对 atan2 进行 SIMD 向量化

    我想使用 neon 指令 SIMD 和臂组件来计算 4 个点的大小和角度 大多数语言都有一个内置库 在我的例子中是 C 它计算角度 atan2 但仅针对一对浮点变量 x 和 y 我想利用处理 q 寄存器的 SIMD 指令来计算 4 个值向量
  • 如何使 sbt 任务在多个范围下运行

    我编写了一个 sbt 插件 可以生成一些源代码和资源 它经过硬编码以在编译范围内工作 如何让它在测试范围内工作 以便我可以在运行测试时使用该插件 并且它将查找并输出到正确的文件夹 例如 在我引用的代码中的各个点resourceManaged
  • 我们如何通过JSP scriptlet获取JavaScript数组

    我需要由 Java 类返回的 JavaScript 数组 多维 Here strComboValue是一个 JavaScript 变量 DBComboOptions getOptions combos 返回 Java 类中的数组 现在我想要
  • 从 pcl::PointCloud 中删除点

    我是 PCL 新手 我正在使用 PCL 库 并且正在寻找一种从点云中提取点或将特定点复制到新点的方法 我想验证每个点是否符合条件 并且我想获得仅包含优点的点云 谢谢 使用 ExtractIndices 类 将要删除的点添加到 PointIn
  • 在谷歌日历java上设置事件ID

    我尝试在 Java 中的 google calendar v3 api 上设置 eventId 但它给了我 400 错误 其中包含 message 无效的资源 id 值 有没有办法自己设置google日历的事件Id thanks 实际上 i
  • 如何通过 Sirikit 创建和使用自定义词汇?

    我希望 Siri 向我显示以下内容中的特定内容IntentViewControllerSiri 对我的特定命令的影响 我尝试过添加一个 plist to lproj但这对我不起作用 我无法理解你想做什么 所以我想给出一个你不能使用的建议IN
  • PHP 简单 HTML DOM 解析器 > 修改获取的链接 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我有一个脚本可以从网站获取内容 我想要做的是修改所有链接 认为 html str get
  • 如何解释 php_uname 的输出

    来自manual我得到的信息是 mode is a single character that defines what information is returned a This is the default Contains all