是否有一种快速方法可以通过编程方式检查是否已编译此特定PHP安装并支持MYSQL?
答案 0 :(得分:7)
实际上有多个模块支持MySQL(mysql,mysqli,pdo_mysql,...)。通常建议使用MySQLi (improved)来更完整地支持MySQL5功能,而不是原始的mysql模块。 PDO (PHP data objects)是一个数据库抽象层,提供面向对象的数据抽象。
如果要检查每个模块是否存在特定功能(mysql_connect,mysqli_connect,...),则可以按照之前的注释使用function_exists()
。
或者,您可以使用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
答案 1 :(得分:6)
if (function_exists('mysql_connect')) ...
答案 2 :(得分:3)
答案 3 :(得分:2)
是的,有。
只需检查其中一个mysql_*
函数是否存在,例如mysql_connect
:
if (function_exists("mysql_connect")) {
echo "compiled using --with-mysql\n";
}