无法加载动态php_mbstring.dll库

时间:2016-04-30 10:50:00

标签: php-7 ubuntu-16.04

我正在使用

检查我的php版本
  

php -v

在控制台中的

命令,我在下面收到警告

  

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

我在/etc/php/7.0/fpm/php.ini文件中取消注释了这行extension = php_mbstring.dll,这似乎并没有解决我的问题。我怎么能摆脱这个警告?

4 个答案:

答案 0 :(得分:4)

尝试从命令行运行时,我遇到了相同的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 /目录中使用php.ini(例如/etc/php/7.X/cli/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

答案 1 :(得分:1)

在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"

答案 2 :(得分:0)

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

  

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

在903左右排队。

会有

  

;延长=中php_mbstring.dll

应该是

  

延长=中php_mbstring.dll

答案 3 :(得分:-1)

我有同样的问题。但就我而言,问题出在开放服务器上。运行开放服务器后,一切顺利!

相关问题