Reputation: 8116
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.
Upvotes: 39
Views: 44629
Reputation: 1549
For checking it on linux terminal level using above command
php -m
which would give output related to modules installed from your php.ini
Upvotes: 0
Reputation: 116140
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.
Upvotes: 42
Reputation: 381
Just run the command as php -m from the command prompt which will display list of modules installed for PHP
Upvotes: 14
Reputation: 24762
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
.......
}
Upvotes: 63
Reputation: 960
if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO available';
}
I hope this works
Upvotes: 3
Reputation: 154603
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.
Upvotes: 7
Reputation: 360762
How about
if (in_array('pdo', get_loaded_extensions())) {
... pdo is there ...
}
Upvotes: 1