使用 sqlsrv 将 php 7.2 连接到 MS SQL

新手上路,请多包涵

我正在尝试在我的机器上通过 PHP 建立和运行 MS SQL 的连接。我正在运行 IIS,安装了 PHP 7.2 和 MS SQL Express 2017。我的基本网页正在运行,但是当我单击打开 PHP 页面时,连接不起作用。

 session_start();

echo "Hello ";
if (isset($_POST['submit'])) {
    $_SESSION["server"] = $_POST['server'];
    $_SESSION["database"]= $_POST['database'];
    $_SESSION["username"] = $_POST['username'];
    $_SESSION["password"] = $_POST['password'];

    echo $_SESSION["database"];

    //CONNECTION
    $serverName = $_SESSION["server"];
    $connectionInfo["Database"] = $_SESSION["database"];
    $connectionInfo["UID"] = $_SESSION["username"];
    $connectionInfo["PWD"] = $_SESSION["password"];

    echo "midway";

    $conn = sqlsrv_connect($serverName, $connectionInfo);

    echo "Bye";
}

当我运行它时,我得到“Hello dimensions midway”,这表明页面正在工作,直到它到达连接线。

我不确定要使用什么 sqlsrv 扩展。

我环顾四周,可以看到 7 和 7.1 的版本,但看不到 7.2 的版本。

我已将 extension=php_sqlsrv_71_nts_x86.dll 添加到 php.ini 的底部(并且该文件存在于 C:\Program Files (x86)\PHP\v7.2\ext 中)。

任何指点将不胜感激。我已经在这上面花了几天时间,但我认为我没有取得任何进展。

谢谢

原文由 Daves 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 674
1 个回答

如何在 xampp 上使用 SQL Server DLL 带有 PHP 7.2 的文件

https://github.com/Microsoft/msphpsql/releases

要从 PECL 存储库下载 PHP 7.1 或更高版本的 Windows DLL,请转到 SQLSRVPDO_SQLSRV PECL 页面。

https://pecl.php.net/package/sqlsrv/5.6.1/windows

https://pecl.php.net/package/pdo_sqlsrv/5.6.1/windows

注意:当您在 php.ini 文件中添加扩展 dll 文件名时,不要忘记删除 php_ 前缀。例如。

 extension=pdo_sqlsrv
extension=sqlsrv

\*\* 不要更改您放入 /xampp/php/ext/ 目录的实际文件名。

7.2 Thread Safe (TS) x86 为我工作 sqlsrvpdo_sqlsrv 扩展。

重新启动 xampp 或 apache,然后您可以在测试 php 文件中打印 phpinfo() 时看到已启用 pdo_sqlsrv 扩展名

在此处输入图像描述

原文由 Kamlesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题