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