看了这么多关于这个问题的帖子后,我不明白为什么它不起作用,因为它应该起作用。我将发布到目前为止的所有信息:
Windows 10 64 位
WampServer 3 64 位(http://www.wampserver.com/)
PHP 5.6.16
Apache 2.4.17
- 微软 SQL Server 2016
我从微软下载了 SQLSRV32.exe。我将dll文件解压到C:\wamp\bin\php\php5.6.16\ext。
在 wampserver 提供的我的 php.ini 中:
extension_dir = "c:/wamp/bin/php/php5.6.16/ext/"
extension=php_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_ts.dll
我的 php5.6.16 文件夹中有 php5ts.dll,所以我认为我有线程安全,这就是我使用 ts.dll 的原因。
如果我在 phpinfo() 中,我应该在其中看到一个“sqlsrv”部分,但我没有看到,所以我想我在这里某处做错了什么?
我什至多次在 wampserver 上重启并以管理员身份运行。它仍然没有出现在 phpinfo() 上...但是我可以在 Wampserver 的 php 扩展中看到这个:
关于我做错了什么或者为什么它没有出现在 phpinfo() 中有什么想法吗?
最佳答案
我已经找到问题所在了。
看来我使用的是 Microsoft 32 位 sqlsrv 驱动程序,它不适用于 wampserver 3 64 位。
用于 PHP 的官方 Microsoft SQL Server 驱动程序:Here 32 位 - 如果您有 32 位 wampserver,请使用它。
用于 PHP 的非官方 Microsoft SQL Server 驱动程序:Here 64 位 - 如果您有 64 位服务器,请使用它。
使用非官方版本后,在phpinfo()上出现了!
无论如何,我希望这个答案对那些花几个小时四处寻找答案的人有用……或者其他什么,我希望它有用。
关于php - WAMP 服务器上用于 PHP 5.6 的 Sqlsrv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36472648/