UnofficialMicrosoftSQLServerDriverforPHP(sqlsrv)非官方的PHPSQLServer驅動
原文 Unofficial Microsoft SQL Server Driver for PHP (sqlsrv)
Here are unofficial modified builds of Microsoft`s sqlsrv and pdo_sqlsrv drivers for PHP, version 3.0, for:
- PHP 5.6 for Windows Vista/2008 and above (32 and 64 bit)
- PHP 5.5 for Windows Vista/2008 and above (32 and 64 bit)
- PHP 5.3 and 5.4 for Windows XP/2003 and above (32 bit)
Microsoft`s
version 3.0 driver does not run on XP/2003 because it has a hard-coded
dependency on the SQL Server 2012 Native Client (ODBC driver), which
will not install on XP. To fix the problem I just had to allow the PHP
driver to use an older version of the ODBC driver supported by XP.
Downloads
-
php_sqlsrv_3.0.2.2 for PHP 5.6, 5.5, 5.4 and 5.3 (19 June 2014, PHP 5.6 added 30 August 2014)
64 bit builds are in the zip folder `x64`.
- Previous versions are in a folder on my OneDrive: Previous Versions
The latest drivers are exactly the same as Microsoft`s, except:
- All known memory leak and memory exception bugs have been fixed *
- Column names can contain unicode characters
- The newest of any of these ODBC drivers is selected, depending on what`s installed:
- SQL Server Native Client 12.0 (hasn`t been invented as of June 2014!)
- SQL Server Native Client 11.0 (SQL Server 2012 ODBC driver)
- SQL Server Native Client 10.0 (SQL Server 2008/r2 ODBC driver)
- SQL Native Client (SQL Server 2005 ODBC driver)
- 64 bit versions included for PHP 5.5 and 5.6
Builds for PHP 5.3 and PHP 5.4 work on XP and above.
Builds for PHP 5.5+ only work on Windows Vista/2008 and above – PHP 5.5+
is built with the 2012 Visual C++ 11 compiler and it generates code
that works on Windows Vista and above. I am comfortable with that – XP
has been superseded a long time ago, Windows 8.1 is absolutely great,
and don`t forget that upgrading Windows also upgrades to a far better
web server in IIS 7.5 or 8.5.
It`s never a good idea to look at the source code of things you like –
since I had to look, my new list of things to do includes writing a new
version of this driver. It is a wrapper around the ODBC API, and has no
business making strict dependencies on any version of the SQL Server
Native Client. It should even work with SQL Server 6, because there is
an ODBC driver for that too. Furthermore, it`s a pretty ugly bit of
code and every update is likely to introduce new bugs. It`s still a
better choice than using the PHP ODBC driver, as it`s much faster in
returning data, it is multilingual (nchar and nvarchar), it supports the
majority of data types, and includes parameters.
* Sqlsrv changes
The sqlsrv driver has a fix to a bug found by Charles Durrant (http://sqlsrvphp.codeplex.com/workitem/22427)
which I too recently experienced when running PHP-32 on a 64 bit
server. I noted Charles`s post when he first reported the bug, but
tried my best to avoid working on the source code until I had to…
Charles saved me a huge amount of time, so thank you to him. My fix is
different, I have repaired all of Microsoft`s dodgy auto pointers and
completely rewritten the horrible function that caused the crash. If
anyone uses these new builds and spots memory leaks or bugs due to these
changes, please let me know and I`ll fix them within a day or two.
Microsoft`s official downloads are here:
SQL Server Native Clients are here:
相關文章
- MySQL的驅動表與被驅動表MySql
- 事件驅動的微服務-事件驅動設計事件微服務
- 驅動精靈是幹嘛的 驅動精靈怎麼安裝驅動
- linux驅動之LED驅動Linux
- extcon驅動及其在USB驅動中的應用
- 新字元驅動框架驅動LED字元框架
- Binder驅動的使用
- Rust 生態系統的非官方指南Rust
- 驅動Driver-platform平臺驅動Platform
- RocketMQ 事件驅動:雲時代的事件驅動有啥不同?MQ事件
- 360驅動大師怎麼安裝印表機驅動 360驅動安裝印表機的步驟
- 【驅動】串列埠驅動分析(二)-tty core串列埠
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- 寶塔 Centos7.x安裝pdo_sqlsrv 擴充套件CentOSSQL套件
- Flutter-Cookbook 非官方翻譯Flutter
- 驅動mysqlMySql
- 不需要驅動的自動化
- 驅動Driver-MISC雜項驅動裝置
- 學Linux驅動: 應該先了解驅動模型Linux模型
- linux核心匯流排驅動模型-驅動篇Linux模型
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- 【linux】驅動-7-平臺裝置驅動Linux
- 『狀態』驅動的世界:ReactiveCocoaReact
- Redis 中的事件驅動模型Redis事件模型
- MySQL驅動的下載方法MySql
- “訊息驅動、事件驅動、流 ”基礎概念解析事件
- 【linux】驅動-6-匯流排-裝置-驅動Linux
- 利用驅動精靈更新win10系統硬體驅動的方法Win10
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- 問題驅動設計與領域驅動設計的區別 - abdullin
- NO.5【嫿骨】の非官方作答
- 如何禁用win10自動更新驅動_win10關閉驅動自動更新的方法Win10
- 如何理解自動化測試資料驅動與關鍵字驅動的區別?
- 表驅動法
- 載入驅動
- Spring:事件驅動Spring事件
- SPI驅動示例
- 字元驅動框架字元框架