php код для тестирования pdo доступен? - PullRequest
25 голосов
/ 28 июня 2010

Я хочу использовать PDO , но я не уверен, что мой хостинг настроил его правильно.

Как я могу проверить в PHP, настроен ли он и работает для MySQL?

Ответы [ 6 ]

38 голосов
/ 28 июня 2010

PDO всегда устанавливается для php 5.1+. Вы можете проверить наличие определенных драйверов БД, которые установлены или не используются phpinfo (); Вы можете попытаться проверить наличие определенных драйверов, используя идею @Mark Baker и проверить наличие определенных констант;

var_dump(defined(PDO::MYSQL_ATTR_LOCAL_INFILE)); // mysql
var_dump(PDO::FB_ATTR_TIME_FORMAT)); // firebird

Обратите внимание, что не все драйверы имеют определенные константы, поэтому phpinfo () остается лучшим решением.

Используя командную строку, вы можете проверить, используя:

$ php -m

В качестве альтернативы phpinfo () вы можете использовать:

extension_loaded ('PDO' ); // returns boolean
// or
extension_loaded('pdo_mysql');
// or get all extensions and search for a specific one
get_loaded_extensions(); 
28 голосов
/ 28 июня 2010

Помимо использования phpinfo (), чтобы проверить, правильно ли он указан

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
15 голосов
/ 24 января 2013

Попробуйте это

print_r(PDO::getAvailableDrivers());

должен предоставлять приложения, поддерживаемые PHP

Array ( [0] => mysql [1] => sqlite )
9 голосов
/ 12 октября 2015

Использование командной строки для PDO:

php -m|grep -i pdo

Для PDO с поддержкой MySQL:

php -m|grep -i pdo_mysql

Чтобы установить поддержку php mysql, найдите имя пакета (Ubuntu):

apt-cache search php5*|grep mysql

И установить его, если это еще не сделано (Ubuntu):

sudo apt-get install php5-mysql
4 голосов
/ 28 июня 2010

Создайте файл, содержащий

<?php

phpinfo();

?>

Он покажет вам, если PDO (и другие функции включены)

0 голосов
/ 13 мая 2018

Для серверов Windows я нашел следующее полезное для проверки того, какие расширения PDO загружаются из командной строки:

php -m|findstr -i pdo_

В моей системе эта команда выводит мне следующие результаты:

pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...