PHP警告:PHP启动:无法加载动态库

时间:2017-04-20 08:49:55

标签: php ubuntu-14.04 mbstring

当我跑步时

def ArrayAdditionI(arr): 
    valormax=arr.pop(arr.index(max(arr)))
    contador=0
    i=0
    arr1=sorted(arr)
    while contador<valormax:
        contador+=arr1[i]
        i+1
        if i>len(arr1):
            break

    if contador==valormax:
        return "true"
    else: 
        return "false"

出现错误,如

  

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20160303/php_mbstring.dll' - /usr/lib/php/20160303/php_mbstring.dll:无法打开共享对象文件:没有这样的第0行的未知文件或目录

尝试使用安装mbstring的解决方案,如

php -v

之后尝试启用它,如:

sudo apt-get install php-mbstring

但是也可以使用sudo phpdismod mbstring # disable mbstring extension sudo phpenmod mbstring # enable mbstring extension again 找到解决方案。

1 个答案:

答案 0 :(得分:1)

好像你安装了多个版本的PHP。所有这些版本的PHP也可能引用完全相同的配置文件(php.ini)。然后,此配置文件加载扩展,这些扩展仅适用于某些PHP安装,但不适用于所有安装。

此外,您似乎从命令行使用的是与Web服务器不同的PHP版本。

  • 如果从命令行运行php -i,则会获得有关默认PHP CLI(命令行界面)安装的信息。
  • 如果在phpinfo.php(网络服务器)目录中的某处添加<?php phpinfo(); ?> htdocs文件,则会看到网络的默认PHP版本。

更奇怪的是,即使你似乎在Linux上,你也试图加载Windows扩展php_mbstring.dll

您应该检查每个已安装的PHP使用哪个配置文件。该信息是php -iphpinfo()输出的一部分。确保不同版本的PHP使用不同的配置文件。

通过grep -iRn 'php_mbstring.dll' /etc检查DLL文件的加载位置。删除此行或将其更改为Linux扩展(可能extension=mbstring.so)。