【问题标题】:php_mssql.dll not loading in PHP.iniphp_mssql.dll 未在 PHP.ini 中加载
【发布时间】:2016-09-05 18:50:45
【问题描述】:

我在 Windows Server 2012R2 的 IIS 下运行 PHP 5.6.21。 PHP 运行良好。

我需要 PHP 连接到 Microsoft SQL 数据库,所以我在 php.ini 中取消了对这一行的注释: 扩展=php_mssql.dll

是的,我在 ext 文件夹中有那个文件,并且在 php.ini 文件中为扩展列出了正确的文件夹。

我还安装了 SQL Native 客户端、ODBC 驱动程序和 PHP SQL 驱动程序。

当我连接到 SQL 数据库时,我得到: 致命错误:在....中调用未定义的函数 mssql_connect()

此 EXACT 代码在较旧的 2003 服务器上运行。

如果我查看新服务器上的 phpinfo,这是在“配置命令”区域:

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\ sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir= ../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"

这看起来很奇怪 - 它列出了“没有 mssql”...这是阻止 mssql 工作的原因吗?由于我在 php.ini 文件中加载了扩展,所以我不知道该去哪里找...

非常感谢任何帮助 - 这让我发疯了。谢谢!

PS - 我意识到我可以用 sqlsrv_connect 替换 mssql_connect,但是有很多代码需要更新 - 我试图避免这种情况,因为此代码适用于旧服务器。

【问题讨论】:

  • 这正是它所说的,它是在不支持 mssql 的情况下编译的
  • Miken - 抱歉,我想我只是不明白 - 即使我在 php.ini 中启用了扩展,是什么阻止了它工作?我看到了其他帖子,但我仍然无法正常工作。
  • 来自接受的答案:“要将 PHP 与 SQL Server 连接,您需要 Microsoft Drivers for PHP for SQL Server”

标签: php sql-server iis-8


【解决方案1】:

Miken - 正如我原来的帖子一样,我已经安装了 PHP/SQL 驱动程序。

实际上,问题在于 MSSQL 扩展在 PHP 5.3 之后不再可用

看来我必须更新代码才能使用 sqlsrv_connect。

无论如何,感谢您的回复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 2020-09-06
    • 2013-08-20
    • 2011-12-06
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多