【发布时间】:2016-09-09 09:35:43
【问题描述】:
我有以下脚本可以连接到我的 microsoft azure 服务器。
<?php
try {
$hostname = "secrets.database.windows.net";
$dbname = "secrets";
$username = "secrets";
$pw = "secrets";
$dbh = new PDO ("dblib:host=$hostname;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
echo "Passed!";
上面的脚本在我的旧服务器上传递,但在从新服务器执行时给我以下错误消息。
SQLSTATE[01002] Adaptive Server connection failed (severity 9)
我的新服务器 PHP 设置如下:
sudo apt-get install -y php5.6-fpm php5.6-ldap php5.6-curl php5.6-cli php5.6-mcrypt php5.6-intl php5.6-json php5.6-pdo-dblib php5.6-mysqlnd php5.6-memcached php5.6-mbstring php5.6-imap php5.6-xml php5.6-sybase
到目前为止我的支票:
1) 两者都有相同的面向公众的 IP 地址。
2) 两者都有相同的 PHP PDO/ODBC 设置。
$ php -i | grep PDO
DO
PDO support => enabled
PDO drivers => dblib, mysql, odbc
PDO Driver for FreeTDS/Sybase DB-lib => enabled
PDO Driver for MySQL => enabled
PDO_ODBC
PDO Driver for ODBC (unixODBC) => enabled
3) 我可以使用 telnet 从两台服务器 ping 我的服务器:
telnet secrets.database.windows.net 1433
任何建议将不胜感激。
【问题讨论】:
标签: php sql-server azure ubuntu pdo