<?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);
?>
5条答案
按热度按时间nnt7mjpx1#
一个简单的
shell_exec
就可以完成这个任务(假设你在一个基于unix的服务器上)。只是不要将任何用户数据放入命令中,并且要注意这种方法可能在共享托管环境中不起作用:请注意,nginx将版本输出发送到stderr,因此您需要将其通过管道发送到stdout以捕获它。
isr3a4wc2#
您可以通过使用$_SERVER超全局变量来检索Web服务器的版本,更具体地说,可以使用:
根据PHP文档:
SERVER_SIGNATURE
包含服务器版本和虚拟主机名的字符串,如果已启用,则会将其添加到服务器生成的页中。
您可以在官方PHP文档网站上找到更多信息:http://php.net/manual/en/reserved.variables.server.php
jdg4fx2g3#
其他答案提到了如何获取Web服务器和数据库版本的不同方法,但是有一个函数可以获取操作系统本身。
您可以指定选择不同组件的模式。默认情况下,它将显示所有组件,以空格分隔,并按以下顺序显示:
You can view more information about the
php_uname
function here.gijlo24d4#
寻址$_SERVER超全局http://php.net/manual/en/reserved.variables.server.php
我相信你想要的设置是:
q3qa4bjr5#
要在PHP中查询MySQL和/或MariaDB的版本,您可以使用mysqli_get_server_info()或(如果您仍然使用在PHP 5.5.0中不推荐使用并在PHP 7.0.0中删除的旧版mysql API)mysql_get_server_info()。API没有类似的函数或类用于此目的,但在这种情况下,您可以只使用SQL查询的结果
它返回类似
5.5.50-0+deb7u2
的内容。下面是一个简单的例子: