0

我正在尝试连接到 Azure 数据库。我已经阅读了许多其他堆栈溢出答案,但它们对我不起作用:

- 我已经下载了 Azure 提供给你的所有驱动程序。他们在

C:\wamp\bin\php\php5.5.12\ext 文件夹: 在此处输入图像描述

-我已将扩展文件夹的路径添加到系统变量中。

-我已经在两个 php.ini 文件(在 apache 和 php 文件夹内)中设置了扩展名。

- 扩展已设置为

extension=php_sqlsrv_5X_ts.dll
extension=php_pdo_sqlsrv_5X_ts.dll 和类似 extension=C:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_5X_ts.dll extension=C:/wamp/bin/php/php5.5.12/ext/php_pdo_5X_ts .dll

其中X表示我尝试过 53、54、55 和 56。

- 每次尝试新更改时,我都会重新启动所有 wamp 服务。

-我什至尝试过使用 IISExpress。

- 它仍然给我这个错误,当我使用时我看不到“sqlsvr” phpinfo()

我还应该做什么?我已经为此受苦好几个星期了。

4

2 回答 2

1

我在https://www.apachefriends.org/download.html使用这个 XAMPP 和 PHP 5.5.34来进行测试以启用sqlsrvPHP 的扩展。

你可以参考我的步骤:

  1. 安装 XAMPP 应用程序后,运行xampp-control.exe,单击config=>PHP(php.ini)检查扩展文件夹。在此处输入图像描述
  2. 从https://msdn.microsoft.com/en-us/library/cc296170%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396下载 3.2 版 PHP 的 MSSQL 驱动程序。解压缩它。
  3. 复制php_pdo_sqlsrv_55_ts.dllphp_sqlsrv_55_ts.dll从未压缩的驱动程序文件夹到 PHP 扩展文件夹(X:\xampp\php\ext在我的场景中)。
  4. 添加extension=php_pdo_sqlsrv_55_ts.dllextension=php_sqlsrv_55_ts.dllPHP.ini文件中。
  5. 启动阿帕奇。

同时,您可以使用phpinfo()检查设置Loaded Configuration Fileextension_dir确定您在确定文件和正确文件夹中的DLL文件中是否配置了正确的设置。

于 2016-05-12T05:29:08.380 回答
1

我参考了Jordi在这篇帖子中留言的做法:Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs

xampp3.2.1 + php 5.5 + sql server 2014 Express,x64。

我的情况是,将 xampp 文件夹移植到一台全新的计算机上。

  1. 完成了所有需要做的事情。(下载 SQLSRV 5.6(或 5.3 或..),检查 php.ini 路径,...)
  2. 下载并安装OBDC 驱动程序 13 (x64)(或者您可以尝试OBDC 驱动程序 11 (x64))
  3. 下载并安装SQL Server® 2014 Service Pack 3 (x64),需要重启电脑。
  4. 下载并安装 Visual C++ Redistributable VS2012 Update4 ( x86 )
  5. 重启阿帕奇

然后它可以工作!!!!

我这几天一直在寻找解决这个问题的方法,希望能帮助更多的人。

于 2019-12-06T09:46:43.653 回答