【问题标题】:Unable to load dynamic php_mbstring.dll library无法加载动态 php_mbstring.dll 库
【发布时间】:2016-08-25 12:50:46
【问题描述】:

我正在使用

检查我的 php 版本

php -v

控制台中的命令,我在下面收到警告

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20151012/php_mbstring.dll' - /usr/lib/php/20151012/php_mbstring.dll:无法打开共享对象 文件:PHP 第 0 行的 Unknown 中没有这样的文件或目录 7.0.4-7ubuntu2 (cli) ( NTS ) 版权所有 (c) 1997-2016 The PHP Group Zend Engine v3.0.0, 版权所有 (c) 1998-2016 Zend Technologies 使用 Zend OPcache v7.0.6-dev,版权所有 (c) 1999-2016,由 Zend Technologies 提供

我在 /etc/php/7.0/fpm/php.ini 文件中取消了对这行 extension=php_mbstring.dll 的注释,这似乎无法解决我的问题。我将如何摆脱这个警告?

【问题讨论】:

  • php_mbstring.dll 适用于 Windows。在 Linux 上它被称为 mbstring.so
  • 我同意你所说的。问题是为什么在 ubuntu 中会显示 windows 错误,我该如何安装 mbstring.so 库?
  • sir @jaahvicky 我也有同样的问题。你有钥匙吗?请分享一下。

标签: php-7 ubuntu-16.04


【解决方案1】:

我在尝试从命令行运行它时遇到了相同的 PHP 警告。这是在我得到的 Homestead Vagrant Ubuntu 盒子上:

 PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php/20160303/php_mbstring.dll' - 
/usr/lib/php/20160303/php_mbstring.dll: cannot open shared object file: No 
such file or directory in Unknown on line 0

PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php/20160303/php_exif.dll' - /usr/lib/php/20160303/php_exif.dll: 
cannot open shared object file: No such file or directory in Unknown on line 0

我没有意识到的是,当您在命令上运行 php 时,它在单独的 /cli/ 目录(例如 /etc/php/7.X/cli/php.ini)中使用了 php.ini行或使用使用 PHP 的 CLI

根据您问题中的路径,查找 /etc/php/7.0/cli/php.ini 并且您应该注释掉 mbstring 模块(假设是 Linux):

extension=php_mbstring.dll
;extension=php_mbstring.dll ; commented out

如果这不能为您解决问题,请尝试运行:

php -i | grep -i "Loaded Configuration File"

这指向了正确的 php.ini 文件:

Loaded Configuration File => /etc/php/7.1/cli/php.ini

【讨论】:

    【解决方案2】:

    在 php.ini 中 搜索“extension_dir”: 取消对该平台的评论 (就我而言,它是在 Windows 上:)

    ; Directory in which the loadable extensions (modules) reside.
    ; http://php.net/extension-dir
    ; extension_dir = "./"
    ; On windows:
    extension_dir = "ext"
    

    【讨论】:

      【解决方案3】:

      这个关于PHP扩展的问题,需要在php.ini文件中开启mbstring扩展。

      文件路径:/etc/php/7.1/cli/php.ini

      903 左右的行号。

      会有

      ;extension=php_mbstring.dll

      应该是

      extension=php_mbstring.dll

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题。但在我的情况下,问题是因为开放的服务器。运行开放服务器后,一切顺利!

        【讨论】:

          猜你喜欢
          • 2012-01-26
          • 2019-04-03
          • 2017-03-03
          • 2017-07-29
          • 2019-01-03
          • 2019-07-30
          • 2018-07-30
          • 2019-03-19
          • 2019-03-22
          相关资源
          最近更新 更多