How to determine if PDO is enabled in PHP?

后端 未结 6 1584
轻奢々
轻奢々 2020-12-01 09:13

Is there a PHP command I can use to determine if PDO is enabled or disabled?

I know I an manually run phpinfo() and eyeball it, but I have a script I run various web

相关标签:
6条回答
  • 2020-12-01 09:32

    You have two options:

    if (extension_loaded('pdo')) { /* ... */ }
    

    Or (this one is not 100% reliable since it can be implemented in user-land classes):

    if (class_exists('PDO', false)) { /* ... */ }
    

    Personally, I prefer the first option.

    0 讨论(0)
  • 2020-12-01 09:36

    Check if the class exists:

    if (class_exists('PDO'))
    

    I appreciate the support and all the upvotes I still get, but please check Salman Abbas's answer for the proper way to do this.

    0 讨论(0)
  • 2020-12-01 09:41

    How about

    if (in_array('pdo', get_loaded_extensions())) {
       ... pdo is there ...
    }
    
    0 讨论(0)
  • 2020-12-01 09:53

    The proper way of determining that will be using the extension_loaded function:-

    if ( extension_loaded('pdo') ) {
        .......
    }
    

    And you might also want to check for the database-specific PDO driver using:-

    if ( extension_loaded('pdo_<database type here>') ) { // e.g., pdo_mysql
        .......
    }
    
    0 讨论(0)
  • 2020-12-01 09:53

    Just run the command as php -m from the command prompt which will display list of modules installed for PHP

    0 讨论(0)
  • 2020-12-01 09:55
    if (!defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO unavailable';
    }
    elseif (defined('PDO::ATTR_DRIVER_NAME')) {
    echo 'PDO available';
    }
    

    I hope this works

    0 讨论(0)
提交回复
热议问题