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

qdo*_*dot 5 php mysql

可能重复:
检测php中的mysql支持

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

dec*_*eze 7

if (function_exists('mysql_connect')) ...
Run Code Online (Sandbox Code Playgroud)


Ste*_*nie 7

实际上有多个模块支持MySQL(mysql,mysqli,pdo_mysql,...). MySQLi(改进版)通常被推荐用于比原始mysql模块更完整地支持MySQL5功能.PDO(PHP数据对象)是一个数据库抽象层,它提供面向对象的数据抽象.

function_exists()如果要检查每个模块是否存在特定功能(mysql_connect,mysqli_connect,...),则可以使用之前的注释.

或者,您可以使用PHP函数extension_loaded()来检查扩展本身(模块名称与phpinfo()的输出匹配):

<?php
    if (extension_loaded('mysql') or extension_loaded('mysqli')) {
        // Looking good
    }
?>
Run Code Online (Sandbox Code Playgroud)

在命令行提示符下,您可以列出所有已编译的模块:

php -m
Run Code Online (Sandbox Code Playgroud)

如果您使用的是unix-ish系统,请使用grep过滤输出到MySQL相关模块:

php -m | grep -i mysql
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Windows,请使用findstr过滤输出到MySQL相关模块:

php -m | findstr -i mysql
Run Code Online (Sandbox Code Playgroud)