2010-06-28 24 views
21

Quiero usar PDO pero no estoy seguro de si mi hosting lo ha configurado correctamente.php code to test pdo está disponible?

¿Cómo puedo probar, en PHP, si está configurado y funciona para MySQL?

+0

En caso de que PDO no esté disponible, puede recurrir a xpdo.org (emula la API). – mario

+1

http://stackoverflow.com/questions/6113262/how-to-determine-if-pdo-enabled-in-php/6113496#6113496 –

Respuesta

21

Aparte de usar phpinfo() para ver si está listada correctamente

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

Crear un archivo que contiene

<?php 

phpinfo(); 

?> 

le mostrará si (se habilitan y otras características) DOP

37

PDO siempre está instalado para php 5.1+. Puede verificar los controladores db específicos que están instalados o no usando phpinfo(); Puede intentar buscar controladores específicos utilizando la idea de @Mark Baker y verificar las constantes específicas;

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

Tenga en cuenta que no todos los controladores tienen constantes específicas definidas para que phpinfo() siga siendo la mejor solución.

El uso de línea de comandos se puede comprobar usando:

$ php -m 

Como una alternativa de phpinfo() se puede utilizar:

extension_loaded ('PDO'); // returns boolean 
// or 
extension_loaded('pdo_mysql'); 
// or get all extensions and search for a specific one 
get_loaded_extensions(); 
+2

+1 para el comando php -m – psynnott

12

probar este

print_r(PDO::getAvailableDrivers()); 

debe dar a las aplicaciones compatibles por PHP

Array ([0] => mysql [1] => sqlite) 
+0

Esta es una respuesta mejor, listará todo disponible no solo uno –

6

El uso de línea de comandos, por DOP:

php -m|grep -i pdo 

Para PDO con el soporte de MySQL:

php -m|grep -i pdo_mysql 

Para instalar el soporte de MySQL php, buscar el nombre del paquete (Ubuntu):

apt-cache search php5*|grep mysql 

Y instálelo si aún no lo hizo (Ubuntu):

sudo apt-get install php5-mysql