I want to use PDO but I'm not sure whether my hosting has set it up properly.
How can I test, in PHP, whether it is setup and working for MySQL?
I want to use PDO but I'm not sure whether my hosting has set it up properly.
How can I test, in PHP, whether it is setup and working for MySQL?
PDO is always installed for php 5.1+. You can check for specific db drivers that are installed or not using phpinfo(); You could try to check for specific drivers using @Mark Baker idea and checking for specific constants;
var_dump(defined(PDO::MYSQL_ATTR_LOCAL_INFILE)); // mysql var_dump(PDO::FB_ATTR_TIME_FORMAT)); // firebird Note that not all drivers have specific constants defined so phpinfo() remains best solution.
Using command line you can check using:
$ php -m As an alternative of phpinfo() you can use:
extension_loaded ('PDO' ); // returns boolean // or extension_loaded('pdo_mysql'); // or get all extensions and search for a specific one get_loaded_extensions(); Try this
print_r(PDO::getAvailableDrivers()); should give applications supported by PHP
Array ( [0] => mysql [1] => sqlite ) Using command line, for PDO:
php -m|grep -i pdo For PDO with MySQL support:
php -m|grep -i pdo_mysql To install php mysql support, search for the package name (Ubuntu):
apt-cache search php5*|grep mysql And install it if not already did (Ubuntu):
sudo apt-get install php5-mysql