Как проверить, что PDO SQLite доступен?
Примеры проверки доступности расширения PHP Data Object и PDO-драйверов (например, SQLite) в PHP. Знакомство с функциями:
get_loaded_extensions (список скомпилированных и загруженных модулей) и extension_loaded, а также PDO::getAvailableDrivers() (массив доступных драйверов PDO) и PDOException.
Расширение PDO (PHP Data Object) это простой и согласованный интерфейс доступа к базам данным в PHP. Правда чтобы им воспользоваться, понадобится соответствующий PDO драйвер конкретной СУБД.
Просмотреть список всех скомпилированных и загруженных модулей в PHP позволяет функция get_loaded_extensions():
print_r(get_loaded_extensions());
В результате нас интересует то, что связано с PDO:
Array ( ... [25] => PDO ... [40] => pdo_mysql [41] => pdo_pgsql [42] => pdo_sqlite )
Таким образом, можно легко задать условие проверки доступности расширения PDO и требуемого PDO драйвера, используя функцию extension_loaded():
if(
!extension_loaded('PDO') ||
!extension_loaded('pdo_sqlite')
) die('PDO extension or SQLite PRO driver not loaded.');
Впрочем, и само расширение PDO имеет функцию getAvailableDrivers(), которая возвращает массив доступных драйверов PDO:
Array
( [0] => mysql [1] => pgsql [2] => sqlite )
Правда использование исключений при обработке ошибок несколько увеличивает количество действий:
if( !extension_loaded('PDO') ) die('PDO extension not loaded.');
else {
try {
if ( !in_array('sqlite', PDO::getAvailableDrivers()) ){
throw new PDOException('SQLite PDO driver not available.');
}
} catch ( PDOException $e ){
die($e->getMessage());
}
}
Короткая ссылка: http://goo.gl/mpA6f4
Спасибо-)
Благодарю Вас!