这是我不久前写的客户常见问题解答中的一个 sn-p,以帮助我们的专用托管客户启动 PHP 并使用 MS SQL 驱动程序运行。它可能会复制上面 cmets 中已经传授的一些知识,但它的完整性也可以帮助其他人从头开始:
注意:很明显,自从我写这篇文章以来,PHP 版本号已经发生了一些变化,但一般原则仍然适用。
安装先决条件:
Microsoft Drivers for PHP for SQL Server 需要 SQL Native Client:
Microsoft SQL Server 2008 R2 Native Client X64 - for 64 bit Windows
或
Microsoft SQL Server 2008 R2 Native Client X32 - for 32 bit Windows
下载并安装与您的系统匹配的 Native Client 驱动程序。
PHP MS SQL 驱动程序:
下载 Microsoft Drivers for PHP for SQL Server:
Microsoft Drivers for PHP for SQL Server
该文件是一个自解压的可执行文件,因此只需使用 7zip 或 WinRAR 并将文件解压到您选择的文件夹中。我们现在需要决定选择哪个驱动程序来匹配您的 PHP 安装。
PHP 5.3.5 有四种不同的风格:
- PHP 5.3.5 非线程安全 VC9
- PHP 5.3.5 非线程安全 VC6
- PHP 5.3.5 线程安全 VC9
- PHP 5.3.5 线程安全 VC6
要知道您安装了哪个版本,请打开与php.exe、php-cgi.exe 等位于同一文件夹中的snapshot.txt 文件。不要使用notepad.exe,因为该文件仅使用换行符(\n ) 用于开头的行结束(unix 格式),记事本将这些修改为一行。
在文件中,您将看到一行(在第 6 行附近,或在您使用记事本的第 1 行中间附近)开头:Build::
构建:D:\php-sdk\snap_5_3\vc9\x86\obj\Release - 非线程安全,VC9 构建
构建:D:\php-sdk\snap_5_3\vc6\x86\obj\Release - 非线程安全,VC6 构建
构建:D:\php-sdk\snap_5_3\vc9\x86\obj\Release_TS - 线程安全,VC9 构建
构建:D:\php-sdk\snap_5_3\vc6\x86\obj\Release_TS - 线程安全,VC6 构建
这告诉我们您正在运行的 PHP 版本。
从您提取 MS SQL PHP 驱动程序的文件夹中,选择与正在使用的 PHP 版本匹配的驱动程序(如果您不使用 PDO,则无需复制 php_pdo_ 驱动程序) :
PHP 5.3.5 非线程安全 VC9:php_sqlsrv_53_nts_vc9.dll、php_pdo_sqlsrv_53_nts_vc9.dll
PHP 5.3.5 非线程安全 VC6:php_sqlsrv_53_nts_vc6.dll、php_pdo_sqlsrv_53_nts_vc6.dll
PHP 5.3.5 线程安全 VC9:php_sqlsrv_53_ts_vc9.dll、php_pdo_sqlsrv_53_ts_vc9.dll
PHP 5.3.5 线程安全 VC6:php_sqlsrv_53_ts_vc6.dll、php_pdo_sqlsrv_53_ts_vc6.dll
假设您的 PHP 安装在 C:\PHP 中,请将这些文件复制(不要移动)到您的 C:\PHP\EXT 文件夹中。
打开C:\PHP\PHP.INI并找到文件的Dynamic Extensions部分并添加:
扩展=php_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll
最后,为了确保 PHP 可以找到这些扩展,请确保 C:\PHP\PHP.INI 中的 extension_dir 指令设置为 C:\PHP\EXT:
extension_dir = C:\PHP\ext
重启 IIS 并调用phpinfo()。如果一切顺利,您应该会看到:
如果您还加载了 PDO 驱动程序,您应该会看到: