可能重复:
在 php 中检测 mysql 支持
有没有一种快速的方法来以编程方式检查这个特定的 PHP 安装是否已在支持 MYSQL 的情况下编译?
实际上有多个模块支持 MySQL (mysql, mysqli, pdo_mysql, ...)。 与原始 mysql 模块相比,通常建议使用MySQLi(改进)以更完整地支持 MySQL5 功能。PDO(PHP 数据对象)是一个数据库抽象层,提供面向对象的数据抽象。
function_exists()
如果要检查每个模块(mysql_connect,mysqli_connect,...)是否存在特定功能,可以使用前面的注释。
或者,您可以使用 PHP 函数extension_loaded()
来检查扩展本身(模块名称与 phpinfo() 的输出匹配):
<?php
if (extension_loaded('mysql') or extension_loaded('mysqli')) {
// Looking good
}
?>
在命令行提示符下,您可以列出所有已编译的模块:
php -m
如果您使用的是 unix-ish 系统,请使用grep
将输出过滤到 MySQL 相关模块:
php -m | grep -i mysql
如果您使用的是 Windows,请使用findstr
将输出过滤到 MySQL 相关模块:
php -m | findstr -i mysql
if (function_exists('mysql_connect')) ...
就在这里。只需检查其中一个mysql_*
功能是否存在,例如mysql_connect
:
if (function_exists("mysql_connect")) {
echo "compiled using --with-mysql\n";
}