首页 >php教程 >php手册 >PHP 5.3 配置 mssql (sqlserver)

PHP 5.3 配置 mssql (sqlserver)

WBOY
WBOY原创
2016-06-06 20:02:142001浏览

最近因为一些安全的问题,要把原本的程式升级到 PHP 5.3。原本想说可以无痛升级的,但是试了才知道,如果资料库是使用 SQL Server 的话,就会很麻烦了! 在 PHP 5.3 以后就不再支持 SQL Server 了,因为微软自己跳下来做了! (详情请看:http://msdn.microsof

PHP 5.3 配置 mssql  (sqlserver)

最近因为一些安全的问题,要把原本的程式升级到 PHP 5.3。原本想说可以无痛升级的,但是试了才知道,如果资料库是使用 SQL Server 的话,就会很麻烦了!

在 PHP 5.3 以后就不再支持 SQL Server 了,因为微软自己跳下来做了! (详情请看:http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx)

除此之外,原本的 mssql_xxx 的 function 也不再支援,全部换成 sqlsrv_xxx 的Function。 (http://www.php.net/manual/en/book.sqlsrv.php)

以下说明一下我的更新方式:

1. 下载 Microsoft Drivers 3.0 for PHP for SQL Server:http://www.microsoft.com/en-us/download/details.aspx?id=20098

在这边有 SQLSRV20.EXE 以及 SQLSRV30.EXE。其中 SQLSRV30.EXE 是支援 SQL Server 2010 的,所以如果你是使用 SQL Server 2008,就下载 SQLSRV20.EXE 即可。

2. 安装 SQLSRV for PHP

下载完后解开,将所有的 DLL 复制到 PHP 下的 ext 目录。然后设定 php.ini。

在我的设定中,我是使用 php_sqlsrv_53_nts_vc9.dll。他的命名规则如下:

  • _53_  :PHP 5.3,如果你是用 PHP 5.4 的话,就要使用 _54_ 的 DLL。
  • _nts_ :Non-thread-safe,因为我是使用 FastCGI,所以使用 non thread safe,如果你是用 apache module 或是 IIS ISAPI 模式,就要使用 _ts_ 的 DLL。
  • _vc9_ :使用 Microsfot Visual C++ v9 Compiler 的。

除了这个之外,如果你连接资料是使用 PDO 的方式,则要使用有 _PDO_ 的 DLL。

3. 设定 PHP.ini

只要加入 extension=php_sqlsrv_53_nts_vc9.dll 即可。

4. PHP 程式

因为我是使用 ADOdb Database Abstraction Library for PHP,所以只要修改 DB type 从 mssql 改为 mssqlnative 即可。


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn