PHP 5.3 配置 mssql (sqlserver)
最近因為一些安全的問題,要把原本的程式升級到 PHP 5.3。原本想說可以無痛升級的,但是試了才知道,如果資料庫是使用 SQL Server 的話,就會很麻煩了! 在 PHP 5.3 以後就不再支持 SQL Server 了,因為微軟自己跳下來做了!(詳情請看:http://msdn.microsof
最近因為一些安全的問題,要把原本的程式升級到 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 即可。
上一篇: php实现递归抓取网页类实例_php技巧
推荐阅读
-
Linux下php连接SQLServer 2000数据库的配置方法
-
php5.3以后的版本连接sqlserver2000的方法
-
php5.3不能连接mssql数据库的解决方法
-
Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
-
在win系统安装配置 Memcached for PHP 5.3 图文教程
-
Linux下安装oracle客户端并配置php5.3
-
Win2003+apache+PHP+SqlServer2008 配置生产环境
-
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
-
IIS+FastCGI+PHP5.3+MySQL5.1+Gzip配置图文详细教程
-
win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)