【问题标题】:What happened to php_mysql.dll?php_mysql.dll 发生了什么?
【发布时间】:2016-01-20 15:21:51
【问题描述】:

终于,经过几个小时的努力,我在我们的 IIS 7.5 Windows Server 2008 上完成了 PHP 7.02 的安装。除了一个错误之外,所有功能都正常:

[20-Jan-2016 15:19:26 UTC] PHP 警告:PHP 启动:无法加载 动态库 'D:\PHP\php-7.0.2-nts-Win32-VC14-x64\ext\php_mysql.dll' - 的 找不到指定的模块。在第 0 行的未知中

检查下载的 zip 文件 op PHP 7.02 时,很明显文件夹 ext 不包含名为 php_mysql.dll 的文件。

所以我的问题是我们在哪里可以得到这个文件以避免这个错误?

【问题讨论】:

  • mysql_* 函数在 PHP 7.0 中被删除,你不能和它一起使用
  • 所以没有办法摆脱这个错误?或者也许从ext 文件夹中删除php_mysqli.dll 文件可以吗?
  • 为什么要删除 php_mysqli,因为它是给你错误的 php_mysql..?
  • 你不应该删除mysqli,因为那是替换mysql的那个。你应该做的是确保你的网络服务器没有加载php_mysql.dll,而是php_mysqli.dll

标签: php iis iis-7.5


【解决方案1】:

感谢火影忍者的评论,我发现php\ext 文件夹中所有模块的动态加载并不是罪魁祸首。因为文件php_mysql.dll 不在那个文件夹中,所以不能从那里加载。经过进一步分析,似乎在 Windows 64 位的最新 PHP (7.02) 下载中,php.ini 文件仍然包含以下内容:

[PHP_MYSQL]
extension=php_mysql.dll

注释掉该部分后,日志文件中的错误消失了。因为我们显然不能再加载那个 dll 文件了。

;[PHP_MYSQL]
;extension=php_mysql.dll

【讨论】:

  • 看起来 PHP 7.1 只需要注释掉一行。
  • 发表评论后还是橙色,还有其他可能的错误吗?
  • 这对我有用,安装作曲家....不是同一个问题,但相似!无论如何都赞成:D它起作用了!!!
  • 升级到 7.2.10 后,旧网站仍然出现此错误。行 extension=php_mysql.dll 没有出现在这个 php.ini 中。 (未弃用的行 extension=pdo_mysql 确实出现了。)
【解决方案2】:

mysql 扩展在 v5.5 上被弃用并在 v7 上被删除,请查看下面的链接,https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7

【讨论】:

    【解决方案3】:

    对于 PHP 7.2,在使用 PDO for MySQL 时,我必须取消注释以下行:

    ;extension=pdo_mysql

    extension=pdo_mysql

    值得注意的是,还有其他版本的PDO扩展也被注释掉了:

    ;extension=pdo_firebird
    ;extension=pdo_mysql
    ;extension=pdo_oci
    ;extension=pdo_odbc
    ;extension=pdo_pgsql
    ;extension=pdo_sqlite
    

    【讨论】:

      猜你喜欢
      • 2016-02-28
      • 2014-02-28
      • 2010-10-02
      • 2020-03-14
      • 2011-04-09
      • 1970-01-01
      • 2014-05-09
      • 2014-03-26
      • 1970-01-01
      相关资源
      最近更新 更多