我在centOs上使用了php 5.4,我删除了它并安装了php 7。 现在,我在服务器上的一个代码返回以下错误:
PHP致命错误:调用未定义的函数mb_internal_encoding()
当我运行yum install php-mbstring
时,我收到以下错误:
错误:php70u-与php-common-5.4.16-43.el7_4.x86_64的常见冲突
错误:php70u-json与php-common-5.4.16-43.el7_4.x86_64冲突
我已经删除并安装了几次php7,但我没有工作。 似乎centOs想要安装旧版本的软件包,但我不知道如何告诉它下载最新版本的mbstring
答案 0 :(得分:5)
要为您的PHP版本搜索正确的MB-String,请尝试以下命令:
sudo yum list | egrep 'php' | grep 70
通过您在服务器中安装的特定PHP版本更改(70),此命令将显示与您的PHP版本相关的所有软件包。
此命令将显示:
ea-php70-php-mbstring.i686
ea-php70-php-mbstring.x86_64
现在您可以安装与您的系统兼容的版本。我希望它适合您。
答案 1 :(得分:1)
yum install php72w-mbstring
将安装7.2的mbstring
cannot-initialize-mbstring-with-php-7
如果这不起作用,您可能只有7.1可用的包
如果仍然无效,您可以删除旧的5.4 php常用软件包,然后重试:
首先搜索您的计算机上仍安装了哪些旧的PHP软件包:
yum list installed | grep php | grep 5.4
然后删除旧的包(例如php-commom-5.4。如果不使用,你可以对其他的包执行相同的操作)
yum remove php-common-5.4
然后再次安装php-mbstring
yum install php-mbstring