【问题标题】:How to configure XAMPP v. 3.2.2 (PHP 7.2) with MSSQL?如何使用 MSSQL 配置 XAMPP v. 3.2.2 (PHP 7.2)?
【发布时间】:2018-01-07 17:44:02
【问题描述】:

我在尝试使用 XAMPP 配置 MSSQL 时遇到了一些问题。我使用this videothis thread 用XAMPP 设置MSSQL。我转到 MSPHPSQL 版本 here 并下载了 7.2 版本,因为我正在使用 PHP 7.2 运行 XAMPP 3.2.2。我已将php_pdo_sqlsrv_72_ts.dllphp_sqlsrv_72_ts.dll 放在“XAMPP\php\ext”文件夹中。然后,我转到php.ini 文件并在其他扩展名下添加了extension=pdo_sqlsrv_72_tsextension=sqlsrv_72_ts

但是,当我启动 Apache 服务器并导航到 PHPInfo 时,我没有看到 pdo_sqlsrv_72_tssqlsrv_72_ts 列出。我想知道是否有人可以帮助我弄清楚为什么它没有出现在 PHPInfo 中,因为我相信我在某处犯了错误,这就是为什么它没有出现在 PHPInfo 下的原因。在添加“extension=”部分时,也许我使用了错误的文件或犯了错误。提前感谢您的帮助,我很感激。

编辑我的PHPInfo在我做出改变之后

EDIT 2 在 jetblack 的帮助下,我们设法解决了这个问题。结果我下载了 SQLSRV 扩展的 64 位文件。下载并安装 32 位版本使其工作。感谢所有的帮助。

【问题讨论】:

    标签: php sql-server apache


    【解决方案1】:

    您的配置中似乎缺少“php_”前缀。尝试如下:

    extension=php_sqlsrv_72_ts.dll
    extension=php_pdo_sqlsrv_72_ts.dll
    

    还要检查先决条件列表。您可能需要下载 ODBC 驱动程序。 https://www.microsoft.com/en-us/download/details.aspx?id=50420

    另外请确认您是否下载了正确的版本。 (32 位或 64 位)

    【讨论】:

    • 我认为可能是这种情况,但是当我查看php.ini 文件时,我看到了以下内容:If you wish to have an extension loaded automatically, use the following syntax: extension=modulename 它还声明了以下内容:The syntax used in previous PHP versions ('extension=<ext>.so' and 'extension='php_<ext>.dll') is supported for legacy reasons and may be deprecated in a future PHP major version. So, when it is possible, please move to the new ('extension=<ext>) syntax.
    • 好吧,如果你复制粘贴你的 phpinfo() 输出会更容易解决问题。
    • 你的意思是如果我在extension=php_pdo_sqlsrv_72_ts.dll 之前有extension=php_sqlsrv_72_ts.dll?如果是这样,我进行了更改,但仍然无法将其显示在 PHPInfo 中。
    • phpinfo() 页面中“线程安全”的值是什么?还有你有什么操作系统?
    • 如果您确定使用正确的版本(64 位或 32 位),则可能是在编辑错误的 php.ini 文件。
    猜你喜欢
    • 2016-01-03
    • 2013-10-06
    • 1970-01-01
    • 2020-12-29
    • 2015-07-07
    • 2011-04-26
    • 2016-09-07
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多