Подтвердить что ты не робот

Как определить, включен ли PDO в PHP?

Есть ли команда PHP, которую я могу использовать, чтобы определить, включено ли PDO или отключено?

Я знаю, что вручную запускаю phpinfo() и смотрю на него, но у меня есть сценарий. Я запускаю различные веб-серверы, на которых отображаются выбранные параметры конфигурации PHP для сервера.

Поэтому я смотрю, есть ли команда, которую я могу использовать.

4b9b3361

Ответ 1

Проверьте, существует ли класс:

if (class_exists('PDO'))

Забастовкa >

Я ценю поддержку и все предыдущие варианты, которые я до сих пор получаю, но, пожалуйста, проверьте ответ Салмана Аббаса за правильный способ сделать это.

Ответ 2

Правильный способ определения этого будет использовать функцию extension_loaded: -

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

И вы также можете проверить драйвер PDO для конкретной базы данных, используя: -

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

Ответ 3

Просто запустите команду как php -m из командной строки, которая отобразит список модулей, установленных для PHP

Ответ 4

У вас есть два варианта:

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

Или (этот не является 100% надежным, поскольку он может быть реализован в классах пользовательских земель):

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

Лично я предпочитаю первый вариант.

Ответ 5

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

Я надеюсь, что это работает

Ответ 6

Как насчет

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

Ответ 7

Опция, которая работает для любого модуля

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

Это позволяет вам узнать, включен ли ваш модуль или нет, но вы все равно должны попробовать его.