【发布时间】:2018-06-09 03:07:23
【问题描述】:
我正在尝试在我的机器上通过 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 的版本。
我已经在 php.ini 的底部添加了extension=php_sqlsrv_71_nts_x86.dll(并且该文件存在于C:\Program Files (x86)\PHP\v7.2\ext 中)。
任何指点将不胜感激。我在这上面花了几天时间,但我认为我没有取得任何进展。
谢谢
【问题讨论】:
-
运行一个包含
phpinfo();的脚本,它会转储一个显示支持的页面。确保列出了 MSSQL 驱动程序。 -
是的。 phpinfo() 将显示您是否有 MSSQL= SQLSERVER
-
谢谢亚历克斯,我已经运行了,驱动程序没有列出。这是否意味着它不受支持,或者我只是没有驱动程序或它不可用?
-
抱歉,选词不当。我应该说“当前加载”而不是“支持”。您需要安装与您的 PHP 版本相匹配的扩展。
-
@Daves - 查看 releases on GitHub(特别是 5.1.1)似乎有 7.2 的驱动程序 - 'windows-7.2.zip' - 尽管这些被标记为预发行版跨度>
标签: php sql-server sqlsrv php-7.2