Ответ 1
Проверьте, существует ли класс:
if (class_exists('PDO'))
Забастовкa >
Я ценю поддержку и все предыдущие варианты, которые я до сих пор получаю, но, пожалуйста, проверьте ответ Салмана Аббаса за правильный способ сделать это.
Есть ли команда PHP, которую я могу использовать, чтобы определить, включено ли PDO или отключено?
Я знаю, что вручную запускаю phpinfo() и смотрю на него, но у меня есть сценарий. Я запускаю различные веб-серверы, на которых отображаются выбранные параметры конфигурации PHP для сервера.
Поэтому я смотрю, есть ли команда, которую я могу использовать.
Проверьте, существует ли класс:
if (class_exists('PDO'))
Забастовкa >
Я ценю поддержку и все предыдущие варианты, которые я до сих пор получаю, но, пожалуйста, проверьте ответ Салмана Аббаса за правильный способ сделать это.
Правильный способ определения этого будет использовать функцию extension_loaded: -
if ( extension_loaded('pdo') ) {
.......
}
И вы также можете проверить драйвер PDO для конкретной базы данных, используя: -
if ( extension_loaded('pdo_<database type here>') ) { // e.g., pdo_mysql
.......
}
Просто запустите команду как php -m из командной строки, которая отобразит список модулей, установленных для PHP
У вас есть два варианта:
if (extension_loaded('pdo')) { /* ... */ }
Или (этот не является 100% надежным, поскольку он может быть реализован в классах пользовательских земель):
if (class_exists('PDO', false)) { /* ... */ }
Лично я предпочитаю первый вариант.
if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO available';
}
Я надеюсь, что это работает
Как насчет
if (in_array('pdo', get_loaded_extensions())) {
... pdo is there ...
}
Опция, которая работает для любого модуля
php -i | grep -i "Your module name"
Это позволяет вам узнать, включен ли ваш модуль или нет, но вы все равно должны попробовать его.