这是我不久前写的客户常见问题解答的一个片段,以帮助我们的专用托管客户使用MS SQL驱动程序启动并运行PHP。它可能会复制上面评论中已经传授的一些知识,但它的完整性也可能帮助其他人从头开始:
注意:显然,自从我写这篇文章以来,PHP版本号已经发生了一些变化,但一般原则仍然适用。
安装先决条件:SQL Native Client 是 Microsoft Drivers for PHP for SQL Server 所必需的:
Microsoft SQL Server 2008 R2 Native Client X64 - 適用於 64 位 Windows
或
Microsoft SQL Server 2008 R2 Native Client X32 - 適用於 32 位 Windows
下载并安装与您的系统匹配的本机客户端驱动程序。
PHP MS SQL Drivers:
下载适用于 SQL Server 的 PHP 的 Microsoft 驱动程序:
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 Threadsafe VC9
- PHP 5.3.5 线程安全 VC6
要判断您安装了哪个版本,请打开与 等位于同一文件夹中的文件。不要使用记事本.exe因为该文件在开头只使用换行符 () 作为行尾(unix 格式),而记事本将它们分解成一行。snapshot.txt
php.exe
php-cgi.exe
\n
在文件中,您将看到一行(在第6行附近,或靠近您确实使用记事本的第1行的中间),开头为: :Build:
Build: D:\php-sdk\snap_5_3\vc9\x86\obj\Release - non-threadsafe, VC9 build
Build: D:\php-sdk\snap_5_3\vc6\x86\obj\Release - non-threadsafe, VC6 build
Build: D:\php-sdk\snap_5_3\vc9\x86\obj\Release_TS - threadsafe, VC9 build
Build: D:\php-sdk\snap_5_3\vc6\x86\obj\Release_TS - threadsafe, VC6 build
这告诉我们您正在运行的PHP版本。
从您提取 MS SQL PHP 驱动程序的文件夹中,选择与正在使用的 PHP 版本匹配的驱动程序(如果您不使用 PDO,则无需复制驱动程序):php_pdo_
PHP 5.3.5 Non-threadsafe VC9: php_sqlsrv_53_nts_vc9.dll, php_pdo_sqlsrv_53_nts_vc9.dll
PHP 5.3.5 Non-threadsafe VC6: php_sqlsrv_53_nts_vc6.dll, php_pdo_sqlsrv_53_nts_vc6.dll
PHP 5.3.5 Threadsafe VC9: php_sqlsrv_53_ts_vc9.dll, php_pdo_sqlsrv_53_ts_vc9.dll
PHP 5.3.5 Threadsafe 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
extension=php_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll <-- optional
最后,为了确保PHP可以找到这些扩展名,请确保将 中的指令设置为:extension_dir
C:\PHP\PHP.INI
C:\PHP\EXT
extension_dir = C:\PHP\ext
重新启动 IIS 并调用 。如果一切顺利,您应该看到:phpinfo()
如果您还加载了PDO驱动程序,则应看到: