microsoft - php pdo sql server
Conectando a mssql usando pdo a través de php y linux (3)
El controlador PDO mssql ya no existe, use sqlsrv
(bajo php windows) o dblib
(bajo php linux)
Estoy tratando de una nueva conexión PDO usando el siguiente código.
new PDO("mssql:driver=????;Server={$serverName};Database={$databaseName}", $username, $password, array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
No estoy seguro de qué controladores usar? o cómo instalarlos. Me puedo conectar perfectamente bien usando la función mssql_connect en PHP, pero en su lugar quiero usar la biblioteca PDO.
Por favor, avíseme si tiene ideas sobre cómo resolver mi problema o cómo puedo responder mejor a mi pregunta.
Mi configuración de php.ini para mssql es:
ssql
Soporte MSSQL habilitado
Enlaces persistentes activos 0
Enlaces activos 1
Versión de biblioteca FreeTDS
Valor directo del valor local de la directiva
mssql.allow_persistent Encendido
mssql.batchsize 0 0
mssql.charset sin valor sin valor
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Ilimitado Ilimitado
mssql.max_persistent Ilimitado Ilimitado
mssql.max_procs Ilimitado Ilimitado
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Servidor predeterminado Servidor predeterminado
mssql.textsize Servidor predeterminado Servidor predeterminado
mssql.timeout 60 60
Gracias
Estoy ejecutando Ubuntu 14.04. Intentando conectarme a MSSQL obtuve la "excepción no detectada ''PDOException'' con el mensaje ''no pude encontrar el controlador''". Parece que me faltaba la extensión PHP dblib / sybase.
Tuve que correr:
sudo apt-get install php5-sybase freetds-common libsybdb5 /
&& sudo apache2ctl restart
Funciona bien ahora
Tratar
$dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");
$hostname may need to be configured as either...
$hostname.'':''.$port;
O
$hostname.'',''.$port;