用于 php 5.6 x86 和 Windows Server 2012 的 Sqlsrv 扩展
Posted
技术标签:
【中文标题】用于 php 5.6 x86 和 Windows Server 2012 的 Sqlsrv 扩展【英文标题】:Sqlsrv extension for php 5.6 x86 and Windows Server 2012 【发布时间】:2017-12-07 23:27:12 【问题描述】:我已经绕圈跑了大约三天了。我刚刚建立了一个本地 SQL 数据库,并传输了一些我试图在其上运行的 php 代码。问题是,这个 php 代码使用 sqlsrv 库,并且运行在稍旧版本的 microsoft 服务器上。
无论我做什么,我都无法加载 sqlsrv。我已经四次检查了我的 php.ini 文件,我在 PHP 7 上遇到了这个问题,在网上阅读了一些资源说 sqlsrv 不适用于 php7,所以我切换到 php 5.6。我已经为此 php 发行版尝试了用于 sqlsrv 的 Microsoft 驱动程序。我已经下载了 SQL Server 本机客户端。
通过这一切,我无法让 phpinfo() 加载 sqlsrv。我已经阅读了各种消息来源说 sqlsrv 也不适用于这个版本的 PHP,但在我安装不同的 php 之前,我想要一个直接的答案。
感谢任何帮助。我经历了很多堆栈溢出问题,但仍然找不到直接的答案,如果需要,我很乐意提供更多信息。 (另外,我是这种开发的菜鸟,如果有任何不清楚的地方请见谅)
谢谢!
【问题讨论】:
检查microsoft.com/en-us/download/details.aspx?id=20098。驱动程序支持 PHP 7 和 5.6(它们是不同的 .exe 文件)。检查你的php错误日志,问题可能是在那里记录的。 我会再试一次,但我上次尝试时无法正常工作。我能找到的唯一罪魁祸首是 Windows 2012 实际上并没有在此处列出。只到 2008 年。不过还是谢谢你的回复 【参考方案1】:我的解决方案:
我最终使用了一个“非官方”的 sqlsrv 扩展,在这里找到:https://onedrive.live.com/?id=669EE24817961774%21123&cid=669EE24817961774
我认为我有一个奇怪的 32 位 php 5.6 和 Windows Server 2012 组合。希望这对某人有所帮助!
【讨论】:
以上是关于用于 php 5.6 x86 和 Windows Server 2012 的 Sqlsrv 扩展的主要内容,如果未能解决你的问题,请参考以下文章
在 xampp 中从 5.6 迁移 PHP 7 时,PDO 驱动程序在 Windows 中没有价值
PHP搭建(windows64+apache2.4.7+mysql-5.6+php5.5)
Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO