背景:
PHP程序常用的数据库是Mysql数据库,但是由于实际项目需要,要求PHP网站连接SQL Server数据库查询一些必要信息。因此,本文就来给大家介绍一下如何安装及配置PHP扩展,可以实现PHP利用PDO函数连接SQL Server数据库。
正文:
要让PHP配置支持sql server,需要安装一些必要软件及扩展,步骤如下:
1、在微软官方页面https://www.microsoft.com/en-us/download/details.aspx?id=20098下载PHP扩展压缩包程序,PHP5.4以上版本下载SQLSRV32.EXE这个文件;
2、将下载的SQLSRV32.EXE安装到你的php安装目录下的ext文件中(如:C:\php\php-5.4.45\ext),安装的扩展名称如php_pdo_sqlsrv_54_ts.dll文件;
3、修改php.ini文件,我们安装的PHP版本是5.4.45,所以配置扩展如extension = php_pdo_sqlsrv_54_ts.dll,保存并重启apache服务器;
4、需要安装Windows服务器连接sql server的驱动程序,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=36434,根据Windwos服务器架构选择即可,这里选择x64的msodbcsql.msi安装,因服务器是64位系统;
5. 安装完成后,就可以编写PHP程序连接SQL Server数据库了。
需要注意的是,php_pdo_sqlsrv_54_ts.dll扩展库文件中的54表示PHP版本号,nts表示的是非线程安全,ts表示的是线程安全,可以查看phpinfo信息得到是否线程安全,如不确定建议选择线程安全的,非线程安全主要出于性能提升考虑,可根据实际需要选择。简单来说,以FastCGI网关形式运行PHP要安装非线程安全,否则安装PHP要线程安全的,一般APACHE服务器是以模块方式加载PHP线程,要选线程安全的。
最后给出PHP连接SQL Server数据库的代码实例,新建db.php文件,内容如下:
<?php
try
{
$dbName = "sqlsrv:Server=123.12.33.99,1433;Database=dbname";
$dbUser = "user";
$dbPassword = "password";
$db = new PDO($dbName, $dbUser, $dbPassword);
if($db)
{
echo "database connect succeed.";
}
} catch(PDOException $e)
{
$content = $e->getMessage();
echo $content;
}
浏览器地址输入db.php访问地址:http://localhost/db.php,如果正常则显示如下:
database connect succeed.