13

我正在使用检查我的 php 版本

php -v

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

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

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

4

4 回答 4

8

尝试从命令行运行它时,我遇到了相同的 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 或使用一个使用 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
于 2017-06-27T19:44:52.857 回答
6

在 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"
于 2018-04-23T20:28:34.813 回答
0

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

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

903号线附近。

将有

;扩展=php_mbstring.dll

它应该是

扩展=php_mbstring.dll

于 2017-12-28T06:24:07.803 回答
-2

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

于 2019-08-01T10:26:24.690 回答