2013-07-02 46 views
2

是否有其他辦法讓我的Apache的版本不使用下面的代碼?獲得Apache的版本使用PHP替代

<?php echo $_SERVER['SERVER_SOFTWARE']; ?> 

返回「Apache」。

<?php echo apache_get_version(); ?> 

返回「致命錯誤:調用未定義函數apache_get_version()」。

注:我使用的是Linux服務器與PHP V5.3.1,並使用EXEC()或了shell_exec()是可以接受通過外殼採用了只有Linux命令任何返回。我只是想讓它至少檢測到Apache for Linux的版本。

+0

'exec'用在httpd -v'或嘗試'捲曲-I localhost'和解析 – sgroves

+0

試過但他們沒有任何回報。 – Solo

+0

Erk,考慮到SERVER_SOFTWARE環境變量,我以前的評論確實是一個愚蠢的問題。儘管如此,[php_sapi_name()](http://php.net/manual/en/function.php-sapi-name.php)的輸出可能很有趣。 – IMSoP

回答

0

是好的?

EXEC( 「Apache2的-v」)會使用您的第一個命令將是最好的,只是makiing阿帕奇暴露自己一點點給類似

Server version: Apache/2.2.16 (Debian) 
Server built: Nov 30 2012 08:33:45 

輸出更

http://httpd.apache.org/docs/2.2/mod/core.html#ServerTokens

更改的.htaccess或httpd.conf文件令牌你想

+0

它也沒有返回任何東西。我也無法從.htaccess配置ServerTokens,並且我無法訪問httpd.conf文件。 – Solo

+0

然後問你的主人? – exussum

+0

exec(「whoami」)顯示什麼? – exussum