php没有自带提供Azure连接用的dll扩展,需要下载对应的drive来扩展
drive下载链接: http://www.microsoft.com/en-us/download/details.aspx?id=20098
下载解压出的文件如下:
然后就是选择对应的dll文件,根据下载的php版本来判断(pdo方式这里不考虑,用的sqlsrv),例如我下的是 PHP 5.2 (5.2.17) VC6 x86 Thread Safe 版本,对应应选择php_sqlsrv_52_ts_vc6.dll。其实根据dll文件名字很好判断,“52”表示5.2系列版本,“ts”为Thread Safe。
然后把dll文件copy到php安装目录的ext目录下,并更新php.ini文件,加入 "extension=php_sqlsrv_52_ts_vc6.dll",追加扩展。(这个php.ini文件位置,可以根据phpinfo()打印的“Loaded Configuration File”找到 ),最后重启apache即可。
接着就是试验连接了,有以下代码
$severName = "tcp:ServerId.database.windows.net, 1433";
$connectionOptions = array("Database" => "DatabaseName",
"UID" => "userName@ServerId",
"PWD" => "password");
$conn = sqlsrv_connect($severName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
注意: UID的形式为 [userName @ServerId]
详细可见:
http://blogs.msdn.com/b/brian_swan/archive/2010/02/12/getting-started-with-php-and-sql-azure.aspx
http://blogs.msdn.com/b/brian_swan/archive/2010/02/08/getting-started-with-the-sql-server-driver-for-php.aspx