我正在使用
检查我的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,这似乎并没有解决我的问题。我怎么能摆脱这个警告?
答案 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)
我有同样的问题。但就我而言,问题出在开放服务器上。运行开放服务器后,一切顺利!