web-dev-qa-db-fra.com

Comment déterminer si PDO est activé en PHP?

Existe-t-il une commande PHP que je peux utiliser pour déterminer si PDO est activé ou désactivé?

Je sais que je lance manuellement phpinfo () et le globe oculaire, mais j'ai un script que je lance divers serveurs Web qui affichent les paramètres de configuration sélectionnés PHP pour le serveur).

Je cherche donc à voir s'il existe une commande que je peux utiliser.

35
H. Ferrence

Vérifiez si la classe existe:

if (class_exists('PDO'))

J'apprécie le soutien et tous les votes positifs que j'obtiens encore, mais veuillez vérifier réponse de Salman Abbas pour la bonne façon de le faire .

40
GolezTrol

La bonne façon de déterminer qui utilisera la fonction extension_loaded: -

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

Et vous pouvez également vouloir vérifier le pilote PDO spécifique à la base de données en utilisant: -

if ( extension_loaded('pdo_<database type here>') ) { // e.g., pdo_mysql
    .......
}
55
Salman von Abbas

Exécutez simplement la commande comme php -m à partir de l'invite de commande qui affichera la liste des modules installés pour PHP

8
Prashant Agrawal

Vous avez deux options:

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

Ou (celui-ci n'est pas fiable à 100% car il peut être implémenté dans des classes d'utilisateurs):

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

Personnellement, je préfère la première option.

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

J'espère que ça marche

3
krishna

Que diriez-vous

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

Une option qui fonctionne pour n'importe quel module est

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

Cela vous permet de savoir si votre module est activé ou non, mais vous devez toujours l'essayer.

0
A.Barth