我正在尝试在我的机器上通过 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 许可协议
如何在 xampp 上使用
SQL Server DLL
带有PHP 7.2
的文件https://github.com/Microsoft/msphpsql/releases
要从
PECL
存储库下载PHP 7.1
或更高版本的 Windows DLL,请转到SQLSRV
或PDO_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_
前缀。例如。\*\* 不要更改您放入
/xampp/php/ext/
目录的实际文件名。7.2 Thread Safe (TS) x86
为我工作sqlsrv
和pdo_sqlsrv
扩展。重新启动 xampp 或 apache,然后您可以在测试 php 文件中打印
phpinfo()
时看到已启用pdo_sqlsrv
扩展名