PHPでWebサーバー(Nginx、MySQL、MariaDB、...)のバージョンを希望します。PHPでWebサーバーのバージョンを取得
私はApacheの機能を知っています:apache_get_version()
。 phpinfo()
にはすべての値が返されますが、悪用方法はたくさんありますか?
あなたはアイデアを持っていますか、現時点では不可能ですか?
PHPでWebサーバー(Nginx、MySQL、MariaDB、...)のバージョンを希望します。PHPでWebサーバーのバージョンを取得
私はApacheの機能を知っています:apache_get_version()
。 phpinfo()
にはすべての値が返されますが、悪用方法はたくさんありますか?
あなたはアイデアを持っていますか、現時点では不可能ですか?
シンプルshell_exec
トリック(あなたがUNIXベースのサーバーにしていると仮定)を行うだろう。ただ、コマンドに任意のユーザデータを入れて、このアプローチは、共有ホスティング環境では動作しない可能性があることに注意していない:
$nginxVersion = shell_exec('nginx -v 2>&1');
$mysqlVersion = shell_exec('mysql --version');
注意をnginx sends version output to stderrは、あなたがそれをキャプチャするために標準出力にパイプする必要があります。
アドレス$ _SERVERスーパーグローバルhttp://php.net/manual/en/reserved.variables.server.php
私はあなたがしたい設定があると信じて:
echo $_SERVER['SERVER_NAME'];
あなたは、より具体的に使用して$ _SERVERスーパーグローバルを使用してWebサーバのバージョンを取得することができます:含む
SERVER_SIGNATURE
文字列:PHPSのドキュメントを1として
$_SERVER['SERVER_SIGNATURE']
を有効な場合、サーバー生成ページに追加されるサーバー・バージョンおよび仮想ホスト名。
あなたは公式のPHPマニュアルサイトで詳細情報を見つけることができます:PHPでのMySQLおよび/またはMariaDBのバージョンを照会するに http://php.net/manual/en/reserved.variables.server.php
をあなたはまだ使用している場合、あなたはmysqli_get_server_info()かを(使用することができます古いMySQLのAPI廃止予定)mysql_get_server_info() PDOのAPIは、その目的のための類似の関数やクラスを持っていませんが、その場合には、あなたはちょうどそれが5.5.50-0+deb7u2
のようなものを返すSQLクエリ
SELECT VERSION();
の結果を使用することができます。簡単な例を示します。
<?php
$user = 'username_here';
$pass = 'your_db_password';
// create DB connection
$dbh = new PDO('mysql:host=localhost;dbname=mysql', $user, $pass);
$stmt = $dbh->query('SELECT VERSION();');
//fetch first column of first result row and print it out
echo $stmt->fetchColumn();
//unset PDOStatement and PDO to close DB connection
unset($stmt);
unset($dbh);
?>
ありがとうございます。今回は、$ _SERVER ['SERVER_SOFTWARE']はWebサーバー専用です。 – B2GraphiX