Php 无法调用内置mb_内部编码方法?
我试图在CentOS 5.3 VMware“box”上安装indefero,但遇到了一个问题。 在安装的早期,我遇到了一个错误,我已经能够将其缩小到:Php 无法调用内置mb_内部编码方法?,php,mbstring,Php,Mbstring,我试图在CentOS 5.3 VMware“box”上安装indefero,但遇到了一个问题。 在安装的早期,我遇到了一个错误,我已经能够将其缩小到: [root@code /var/www/html]# cat x.php <?php mb_internal_encoding("UTF-8"); ?> [root@code /var/www/html]# php x.php PHP Fatal error: Call to undefined function mb
[root@code /var/www/html]# cat x.php
<?php
mb_internal_encoding("UTF-8");
?>
[root@code /var/www/html]# php x.php
PHP Fatal error: Call to undefined function mb_internal_encoding() in
/var/www/html/x.php on line 2
我再次检查:selinux已被禁用(目前)
如何修复此问题?mbstring是一个“非默认”扩展,默认情况下不启用;见本手册第1部分:
安装
mbstring是非默认扩展名。 这意味着它不是由 违约必须显式启用 具有配置选项的模块。 有关详细信息,请参阅安装部分 因此,您可能必须启用该扩展,修改php.ini文件(并重新启动Apache,以便考虑您的修改)
我不使用CentOS,但您可能必须首先安装扩展,使用类似的方式(例如,请参阅,它似乎给出了一个解决方案):
(包名可能有点不同;因此,使用yum搜索获得它:-)如果有人在ubuntu中安装
php mbstring
包时遇到问题,请执行以下操作
sudo apt get安装libapache2-mod-php5
对于Debian/Ubuntu:
sudo-apt-get-install php7.0-mbstring
用于OpenSUse(zypper软件包管理器):
以及:
另一方面,您可以通过YaST软件管理器进行搜索
请注意,必须重新启动apache http服务器:
systemctl restart apache2.service
如果您不知道如何在windows中启用php_mbstring扩展,请打开php.ini并删除扩展之前的分号: 改变这个
;extension=php_mbstring.dll
对此
extension=php_mbstring.dll
修改后,您需要重置php服务器。
apt get install php7.3-mbstring
解决了ubuntu上的问题,php版本是php fpm 7.3它真的是内置的吗?调用php-m以获取内置模块的列表。完成yum安装php mbstring之后,您需要做些什么?我尝试了apachectl restart,但是没有骰子yum安装php70w mbstring
对于php7,是的需要重新启动apachectl restart
对于Ubuntu,可以使用apt安装php mbstring
,然后,当然,使用systemctl restart apache2
@PascalMARTIN重新启动apache,因为它对我有效。。。但是我无法在centos
中重新启动apache服务器。请提供帮助。另外值得注意的是,如果使用ondrej/php存储库中的php7.0,正确的软件包是php7.0-mbstring。sudo apt get install php mbstring
。
zyper install php7-mbstring
systemctl restart apache2.service
;extension=php_mbstring.dll
extension=php_mbstring.dll