“即使在成功安装apt-get之后,系统也缺少”请求的PHP扩展mbstring“

我正在尝试</ p>


$ composer require --dev phpunit / phpunit ^ 6.5 </ p>
</ blockquote>

并收到以下错误:</ p>

 问题1 

  • phpunit / phpunit 6.5.8需要ext-mbstring * - &gt; 您的系统中缺少所请求的PHP扩展名mbstring。
    </ code> </ pre>

    所以我多次运行以下内容</ p>


    $ sudo apt-get install php-mbstring </ p>
    </ blockquote>

    获取</ p>

      php-mbstring已经是最新的 版本(1:7.2 + 60ubuntu1)。
    0升级,0新安装,0删除,0未升级。
     code>  pre> 
    
    

    $ php - -ini p> blockquote>

    提供: p>

     配置文件(php.ini)路径:/etc/php/7.0  / cli 
    Loaded配置文件:/etc/php/7.0/cli/php.ini
    

    nn

    我还没有提交
    extension = php_mbstring.dll </ code>
    /etc/php/7.0/cli/php.ini </ code> </ s> (无关/错误的操作)</ em> < / p>

    我仍然得到“系统</ code>中缺少 mbstring </ code>”错误。</ p>

    我正在 Ubuntu 18.04 </ em> </ p>

    编辑:</ strong>
    composer命令还提供:</ s> </ p>

    < pre> PHP警告:PHP启动 :无法加载动态库'/usr/lib/php/20151012/php_mbstring.dll' - /usr/lib/php/20151012/php_mbstring.dll:无法打开共享对象文件:第0行的未知中没有此类文件或目录
    </ code> </ pre>

    是的,在ubuntu的php.ini中取消注释 extension = php_mbstring.dll </ code>是错误的/不相关的(见评论)</ p>
    </ div>

展开原文

原文

I'm trying to

$composer require --dev phpunit/phpunit ^6.5

and get the following error:

 Problem 1
    - phpunit/phpunit 6.5.8 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.

So I ran the following multiple times

$sudo apt-get install php-mbstring

and get

php-mbstring is already the newest version (1:7.2+60ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ php --ini

Gives:

Configuration File (php.ini) Path: /etc/php/7.0/cli
Loaded Configuration File:         /etc/php/7.0/cli/php.ini

I've also uncommitted the extension=php_mbstring.dll line in /etc/php/7.0/cli/php.ini (irrelevant/wrong action)

And I still get the "mbstring is missing from your system" error.

I'm on Ubuntu 18.04

EDIT: the composer command also gives:

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

Yes, un-commenting extension=php_mbstring.dll in php.ini on ubuntu was wrong/irrelevant (see comment)

dpztth71739
dpztth71739 PHPUnit是一个基于CLI的工具,只有PHP的CLISAPI是相关的。因此,无需重新启动Web服务器。
2 年多之前 回复
dppb79372
dppb79372 我已经安装了最新的php-mbstring和php7.2-mbstring
2 年多之前 回复
dongle2627
dongle2627 您的主机可能已安装了多个php版本,并且您只是为默认版本安装extmb字符串,而不是实际使用的版本。尝试使用apt-getinstallphpx.x-mbstring,其中x.x是Web服务器使用的实际版本。然后,当你使用它时,重启web服务器和/或phpfpm
2 年多之前 回复
doulu1907
doulu1907 您正在使用Ubuntu,但php_mbstring.dll是一个Windows库。Linux是php_mbstring.so。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问