Fatal error: Call to undefined function sqlsrv_connect() using wamp php 5.5.12

Fatal error: Call to undefined function sqlsrv_connect() using wamp php 5.5.12

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

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

C:\wamp\bin\php\php5.5.12\ext folder:

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

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

-扩展设置为

extension=php_sqlsrv_5X_ts.dll
extension=php_pdo_sqlsrv_5X_ts.dll and like 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。

-它仍然给我这个错误,我在使用 phpinfo().

时看不到 "sqlsvr"

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

我在 https://www.apachefriends.org/download.html 将此 XAMPP 与 PHP 5.5.34 一起使用,以进行启用 PHP 的 sqlsrv 扩展的测试。

可以参考我的步骤:

  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. PHP.ini 文件中添加 extension=php_pdo_sqlsrv_55_ts.dllextension=php_sqlsrv_55_ts.dll
  5. 启动 Apache。

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

I refer to the practice of Jordi's message in this post: Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs

xampp3.2.1 + php 5.5 + sql 服务器 2014 Express,x64。

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

  1. 完成所有需要做的事情。 (下载 SQLSRV 5.6(或 5.3 或..),检查 php.ini 路径,...)
  2. 下载并安装 OBDC Driver 13(x64) (or maybe you can try OBDC Driver 11(x64))
  3. 下载安装SQL Server® 2014 Service Pack 3(x64),需要重启电脑
  4. 下载并安装 Visual C++ Redistributable VS2012 Update4 (x86)
  5. 重新启动 Apache

然后就可以了!!!!!

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