1

最近,我格式化了我的笔记本电脑并安装了 Windows 7 Home Basic 64bit、EasyPHP 12.1(将 PHP 升级到版本 5.4.6)、Microsoft SQL Server 2012SQL Native Client Interface 64bit 版本的新副本,如 Microsoft 网站上的要求所指定。我已经下载了用于 PHP 的 Microsoft SQL 驱动程序(一个文件 SQLSRV30.exe)并将文件php_pdo_sqlsrv_54_ts.dllphp_sqlsrv_54_ts.dll复制到ext文件夹。

http://postimage.org/image/mv4dcc3aj/

还向 php.ini 添加了条目

http://postimage.org/image/ruwxxeknj/

我根据 EasyPHP 的快照文件使用线程安全版本,上面写着Build: C:\php-sdk\php54dev\vc9\x86\obj\Release_TS

那么 phpinfo() 没有显示对 Microsoft SQL Server 的任何支持!我以前做过这个,我知道它有效。任何人都可以在这里帮助我,我是否遗漏了 php.ini 或其他地方的某些内容?

谢谢

4

1 回答 1

3

终于我发现了问题!我正在修改错误的 php.ini 文件!

在 C:\Program files(86)\EasyPHP-12.1 中搜索 php.ini 会发现 4 个文件!我决定在所有这些中将 html_errors 的值从 On 更改为 Off,只是为了查看 php_info() 输出中的效果。通过反复试验,我发现要更改的正确 php.ini 是

C:\程序文件(86)\EasyPHP-12.1\apache\php.ini

那里有一行说

extension_dir = "C:\PROGRA~2\EASYPH~1.1\php\php546x130128105026\ext\"

所以后来我意识到 Apache 的 php.ini 正在从外部文件夹中获取 DLL 文件,而我正在修改目录中的不同 php.ini

C:\Program Files (x86)\EasyPHP-12.1\php\php546x130128105026

其中包含 ext 文件夹!好吧,我做错了。我将这两个 DLL 文件保存在该 ext 文件夹中,并将这两行添加到 Apache 的 php.ini

扩展=php_sqlsrv_54_ts.dll 扩展=php_pdo_sqlsrv_54_ts.dll

所以现在 EasyPHP 可以与 Microsoft 的 SQL 服务器通信,如 php_info() 输出所示。

http://postimage.org/image/f3psxpnvn/

于 2013-02-01T09:24:29.817 回答