检查PHP是否已编译--with-mysql

时间:2012-06-19 08:47:40

标签: php mysql

  

可能重复:
  Detecting mysql support in php

是否有一种快速方法可以通过编程方式检查是否已编译此特定PHP安装并支持MYSQL?

4 个答案:

答案 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)

我想你可能在寻找phpinfo();

显示有关PHP配置的信息。

  

phpinfo - 输出有关PHP配置的信息

答案 3 :(得分:2)

是的,有。 只需检查其中一个mysql_*函数是否存在,例如mysql_connect

if (function_exists("mysql_connect")) {
  echo "compiled using --with-mysql\n";
}