Home » Php » How to determine if PDO is enabled in PHP?

How to determine if PDO is enabled in PHP?

Posted by: admin April 23, 2020 Leave a comment

Questions:

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 servers that display selected PHP configuration settings for the server.

So I am looking to see if there is a command I can use.

How to&Answers:

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.

Answer:

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
    .......
}

Answer:

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

Answer:

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.

Answer:

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO available';
}

I hope this works

Answer:

How about

if (in_array('pdo', get_loaded_extensions())) {
   ... pdo is there ...
}

Answer:

An option that works for any module is

php -i | grep -i "Your module name"

This allows you to know if your module is enabled or not, but you should still try it out.