centOS 7无法安装php-mbstring扩展

时间:2015-02-26 10:25:51

标签: php unix centos install mbstring

我已尝试安装扩展名mbstring,但我遇到以下错误:

    Error: Package: php-mbstring-5.4.16-23.el7_0.3.x86_64 (updates)
        Requires: php-common(x86-64) = 5.4.16-23.el7_0.3
        Installed: php-common-5.4.38-1.el7.remi.x86_64 (@remi)
        php-common(x86-64) = 5.4.38-1.el7.remi
        Available: php-common-5.4.16-21.el7.x86_64 (base)
        php-common(x86-64) = 5.4.16-21.el7
        Available: php-common-5.4.16-23.el7_0.x86_64 (updates)
        php-common(x86-64) = 5.4.16-23.el7_0
        Available: php-common-5.4.16-23.el7_0.1.x86_64 (updates)
        php-common(x86-64) = 5.4.16-23.el7_0.1
        Available: php-common-5.4.16-23.el7_0.3.x86_64 (updates)
        php-common(x86-64) = 5.4.16-23.el7_0.3
    You could try using --skip-broken to work around the problem
    You could try running: rpm -Va --nofiles --nodigest

我该怎么做才能解决问题?

感谢您的帮助

9 个答案:

答案 0 :(得分:18)

对于想要知道如何解决这个问题的人:

sudo yum remove php-common

然后你可以:

sudo yum install php-mbstring

它会自动安装dependecies(php-common)

答案 1 :(得分:14)

来自AWS亚马逊论坛的回答:

yum -y install yum-utils
yum repolist all
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

然后你可以安装php-mbstring,也许,我不确切知道,但也许它只对亚马逊上的服务器有帮助。

答案 2 :(得分:6)

所选答案可能会更改已安装的PHP版本。当不使用库存CentOS PHP时,yum将尝试为错误版本安装mbstring扩展名PHP。

您可以使用php -v检查您的已安装的PHP版本:

$ php -v
PHP 5.5.36 (cli) (built: May 28 2016 12:05:32)

然后继续为您的安装的PHP版本安装正确的mbstring版本:

$ sudo yum install php55w-mbstring

答案 3 :(得分:5)

一直在寻找半天的答案,然后才意识到CentOS的cPanel / WHM版本会禁用YUP来更新php。您应从php*中的排除列表中删除/etc/yum.conf

答案 4 :(得分:2)

以上各项均不适用于Godaddy专用服务器centOS 6,apache 2.4,php 5.6

相反,您应该

使用EasyApache安装mbstring PHP扩展

检查是否已经使用腻子或ssh

php -m | grep mbstring

[如果没有,则表示缺少mbstring]

现在您需要转到Godaddy您的帐户页面,

点击管理器服务器

打开Whm -----搜索apache,

打开“ easy apache 4”(我的情况)

现在您需要自定义当前安装的软件包,

作者

点击“当前安装的软件包...”旁边第一行的“自定义”按钮

搜索mbstring,

单击它旁边的开/关切换。

单击“下一步”,“下一步”,“ .... privision ..完成”。

现在您应该拥有mbstring

通过再次检查腻子(ssh)

php -m | grep mbstring [应该看到mbstring]

或者您可以在phpinfo()页面上找到mbstring

答案 5 :(得分:1)

你必须指定与php-common相同的版本,我的是php70w-common

 sudo yum install php70w-mbstring

答案 6 :(得分:1)

  

以上各项均不适用于Godaddy专用服务器centOS 6,apache 2.4,php 5.6

相反,您应该使用EasyApache安装mbstring PHP扩展,以检查是否已通过putty或ssh拥有它。

php -m | grep mbstring       [if nothing, means missing mbstring]

现在您需要转到Godaddy您的帐户页面,

1.click manager server,

2.open whm ----- search for apache,

3.open "easy apache 4"(my case)

现在,您需要自定义当前安装的软件包,方法是

4.click "customize" button on top line next to "currently installed package..."

5.In the search bar write "mbstring",

6.click on/off toggle next to it.

7.click next, next, .... privision..done.

现在您应该在putty(ssh)处再次检查mbstring

php -m | grep mbstring         [should see mbstring]

或者您可以在phpinfo()页面上找到mbstring

谢谢,我的问题解决了

答案 7 :(得分:0)

需要搜索所需的mbstring版本。

cat /etc/redhat-release && php -v && yum search mbstring



========================================================================= N/S matched: mbstring ==========================================================================
ea-php54-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php55-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php56-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php70-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php71-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php72-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
ea-php73-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling

现在您可以检查自己实际需要的是什么,就像我使用php7.1一样,这样我的命令就会成为

sudo yum install ea-php71-php-mbstring

答案 8 :(得分:0)

Fedora 28(云版)

sudo yum install php56-php-mbstring
sudo yum install php70-php-mbstring
sudo yum install php71-php-mbstring
sudo yum install php72-php-mbstring
sudo yum install php73-php-mbstring