php dblib, Error: SQLSTATE [HY000] Nombre de máquina host desconocido (gravedad 2)
Estoy usando la computadora Mac OSX 10.9. Freetds y unixODBC ya están instalados en mi computadora y se agregaron como extensión a php, intentando conectarse a un servidor remoto MSSQL. A continuación se muestra mi prueba de conexión:
<?php
$dbh = new PDO('dblib:host=Hostname ;dbname=Dbname', 'user', 'pw');
if (!$dbh) {
die('Something went wrong while connecting to MSSQL');
}
?>
El archivo de registros de error muestra:
[error] [client 127.0.0.1] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] Unknown host machine name (severity 2)
Cual podría ser el problema ? Parece que mis freetds y unixODBC funcionan bien si uso terminal para conectarme a la misma base de datos que se muestra a continuación:
$ isql Hostname user pw
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
y
$ tsql -S Hostname -U user
Password:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
aquí está mi freetds.conf
[global]
# TDS protocol version
tds version = 8.0
[Hostname]
host = IP
port = 1433
tds version = 8.0
client charset = UTF-8 ##needed on MAC OS X
dump file = /tmp/freetds.log
y mi odbc.ini
[Hostname]
#Driver=/usr/local/lib/libtdsodbc.so
Driver = /usr/local/Cellar/freetds/0.91_2/lib/libtdsodbc.so
Trace=No
Server=IP
Port=1433
TDS_Version=8.0
client charset = UTF-8
my phpinfo () muestra que se ha agregado la extensión, hay dblib en la sección PDO y la sección pdo_dblib tiene freetds habilitados para el controlador Flavor.
Entonces, ¿cuál es el problema? ¿Alguna idea de lo que debo hacer? Cualquier asistencia será muy apreciada.
Aquí está mi odbcinst.ini:
[freetdS]
Description = v0.63 with protocol v8.0
Driver = /usr/local/Cellar/freetds/0.91_2/lib/libtdsodbc.so