脚本宝典收集整理的这篇文章主要介绍了如果PHP在Linux上运行;如何获得具体的分发(Ubuntu,fedora等)?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试过使用PHP_uname(‘s’)和PHP_OS它们都返回Linux;这对我没什么用(我在Arch Linux上测试)
我问这个问题,因为 – 例如 – 如果我想在ubuntu中管理服务/守护进程,我将使用service命令,并且在Arch中使用systemctl命令,所以不知道哪个Linux发行版正在运行我的PHP脚本我无法处理这些问题.
这是代码:
重要笔记:
>如果你不修改PHP.ini文件并允许对它进行文件操作,PHP将不会扫描/ etc目录(修改open_basedir选项,通过添加:/ etc /到最后.)
>以下代码中可识别的发行版列表很容易扩展,您只需要发行版的漂亮名称(例如Ubuntu)及其发布文件的名称(例如lsb-release).有关着名的Linux发行版的完整列表,click here.
function getLinuxDistro() { //declare Linux distros(extensible list). $distros = array( "Arch" => "arch-release","Debian" => "debian_version","Fedora" => "fedora-release","Ubuntu" => "lsb-release",'redhat' => 'redhat-release','CentOS' => 'centos-release'); //Get everything From /etc directory. $etcList = scandir('/etc'); //Loop through /etc results... $OSDistro; foreach ($etcList as $entry) { //Loop through list of distros.. foreach ($distros as $distroReleaseFile) { //Match was found. if ($distroReleaseFile === $entry) { //Find distros array key(i.e. Distro name) by value(i.e. distro release file) $OSDistro = array_search($distroReleaseFile,$distros); break 2;//Break inner and outer loop. } } } return $OSDistro; } }@H_406_24@
以上是脚本宝典为你收集整理的如果PHP在Linux上运行;如何获得具体的分发(Ubuntu,fedora等)?全部内容,希望文章能够帮你解决如果PHP在Linux上运行;如何获得具体的分发(Ubuntu,fedora等)?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。