2017-02-03 57 views
2

私は私のウェブサイト上でapache_get_version()機能を実行しようとすると、私はエラーを取得:Apacheのバージョンを取得するには?

Fatal error: Uncaught Error: Call to undefined function apache_get_version() in /srv/www/mywebsite.com/index.php:44 Stack trace: #0 {main} thrown in /srv/www/mywebsite.com/index.php on line 44

しかし、これは私のローカルホストで動作します。 は、私はこれはそれがバージョン

+1

この機能は、PHPがコンパイルされ、通常のApacheモジュールとしてインストールされている場合にのみ使用できます。そうでなければ、これは起こります。 – Andrew

+0

Andrew私はウェブサイトでそれを読んだが、バージョンを入手する方法は? –

+0

自分でコンパイルする必要があります。 [here](http://dcx.sap.com/1200/en/dbprogramming/pg-php-compiling-apache.html) – Andrew

答えて

0

$_SERVER['SERVER_SOFTWARE']あなたは実行しているWebサーバーを入手することができます。 Andrewは、hereから自分でコンパイルできると言っています。

+0

これは応答ヘッダーに由来します。サーバがそのバージョンを報告しない場合、あなたは 'Apache'を得るか、まったく何も取得しません。 –

-2
echo apache_get_version(); 

をエコーし​​ませんが、それはApacheの完全なバージョンの詳細を表示しますapacheの上のサーバのバージョンをエコーする必要があり

function apache_version() 
{ 
    $ver = explode(" ",$_SERVER["SERVER_SOFTWARE"],3); 
    return ($ver[0] . " " . $ver[1]); 
} 
echo apache_version(); 

を試してみました。

0

たぶん、あなたはthe introduction to Apache functionsから

<?php 
echo shell_exec('httpd -version'); 
+0

それは全く何もエコーしません。 –

+0

どのOSを使用していますか? – Michael

+0

マイケル私は窓を使用しているが、ホストはLinuxを使用していると私は信じている –

1

試みることができる:あなたはCGI/FastCGIのまたは任意の他のSAPIとしてPHPを実行する場合

These functions are only available when running PHP as an Apache module.

は、相互作用するので、Apacheのバージョンを確認するためだけの信頼できる方法はありませんApacheとPHPの最小のものです。サーバーがそれを報告しない場合(したがって、あなたは$_SERVERのどこかでそれを読むことができます)、あなたは運がありません。

determine how PHP runsでもphpinfo()とすることもできます。

+0

サーバーのAPIがCGI/FastCGIであることがわかります –

関連する問題