2013-10-03 20 views
1

我使用phpinfo()來確定安裝在遠程服務器上的哪個操作系統。它是Linux。有沒有什麼辦法來確定使用PHP的Linux的味道?使用php獲取Ubuntu的風格

+0

我明確地說過,我知道操作系統現在我想知道的味道。您發佈的鏈接僅提供有關操作系統的信息。 –

+0

請參閱@duskwuff答案,它確實是重複的。 –

+1

使用它來查找操作系統版本。 echo exec(「cat/etc/* - release」); –

回答

1

Ubuntu風格都是相同的操作系統 - 它們之間的唯一區別是默認安裝的一組軟件包。由於以後可以安裝和刪除軟件包,因此無法可靠地分辨差異。 (大多數Ubuntu的差異都在默認的桌面環境和應用程序中,無論如何,這對服務器來說並不是很有趣,事實上,大多數服務器可能不會使用「風格」安裝在所有。)

+0

我只是編輯我的問題。我用ubuntu而不是linux。 –

1

嘗試從/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 
) 
0

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 ([email protected]) (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 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Wed Jul 11 06:49:35 EDT 2012 
0
在php.ini

使open_basedir與其他人一起使用然後使用:

function retDistro() 
    { 
      $scandirs = scandir('/etc'); 
      $flavors = array("Ubuntu" => "lsb-release"); 
      //list any other linux flavors in the flavors array, 
      // you can find the full list at http://linuxmafia.com/faq/Admin/release-files.html 
     $returnvar; 
     foreach ($scandirs as $scandir) 
     { 
      foreach ($flavors as $flavor) 
      { 
       if ($flavor === $scandir) 
       { 
        $returnvar = array_search($flavor, $flavors); 

        break 2; 
       } 
      } 

     } 

     return $returnvar; 
    } 
+0

我應該在哪裏運行這個功能?在public_html裏面? –

+0

這是一個返回值的php函數,可以在任何地方使用。 例如:'<?php retDistro(); ?>就像你要運行'phpinfo()' –

+0

只是在調用'retDistro();' –