无法调用内置的 mb_internal_encoding 方法?

发布于 2024-07-30 20:00:52 字数 931 浏览 5 评论 0原文

我正在尝试在 CentOS 5.3 VMware“盒子”上安装 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_internal_encoding() in 
/var/www/html/x.php on line 2

通过 Apache 通过 http 调用此脚本时,我收到相同的错误。 现在根据 PHP 手册 mb_internal_encoding 函数 应该是一个内置函数在 PHP 5 中。

我有 CentOS 5.3 i386 (Linux 代码 2.6.18-53.1.21.el5 #1 SMP Tue May 20 09:34:18 EDT 2008 i686 i686 i386 GNU/Linux)并且我已经安装了 PHP 5.2.9 。

[root@code /var/www/html]# php -v
PHP 5.2.9 (cli) (built: Jul  8 2009 06:03:36)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

我仔细检查过:selinux 已被禁用(目前)。

我该如何解决?

I'm trying to install indefero on a CentOS 5.3 VMware 'box' and I ran into a problem.
Quite early in the installation I get an error that I've been able to narrow down to this:

[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

I get the same error when calling this script via http through Apache.
Now according to the PHP manual the mb_internal_encoding function should be a builtin in PHP 5.

I have CentOS 5.3 i386 (Linux code 2.6.18-53.1.21.el5 #1 SMP Tue May 20 09:34:18 EDT 2008 i686 i686 i386 GNU/Linux) and I've installed PHP 5.2.9.

[root@code /var/www/html]# php -v
PHP 5.2.9 (cli) (built: Jul  8 2009 06:03:36)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

I double checked: selinux has been disabled (for now).

How do i fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

剩一世无双 2024-08-06 20:00:59

对于 OpenSUse(zypper 包管理器):

zypper install php5-mbstring

和:

zyper install php7-mbstring

另一方面,您可以通过 YaST 软件管理器搜索它们。

请注意,您必须重新启动 apache http 服务器:

systemctl restart apache2.service

For OpenSUse (zypper package manager):

zypper install php5-mbstring

and:

zyper install php7-mbstring

In the other hand, you can search them through YaST Software manager.

Note that, you must restart apache http server:

systemctl restart apache2.service
煞人兵器 2024-08-06 20:00:58

对于 ubuntu 中的 php 5.6

sudo apt install php5.6-mbstring

重新启动 Apache2

sudo systemctl restart apache2

For php 5.6 in ubuntu

sudo apt install php5.6-mbstring

Restart Apache2

sudo systemctl restart apache2
无边思念无边月 2024-08-06 20:00:57

apt-get install php7.3-mbstring 解决了ubuntu上的问题,php版本是php-fpm 7.3

apt-get install php7.3-mbstring solved the issue on ubuntu, php version is php-fpm 7.3

德意的啸 2024-08-06 20:00:56

如果有人在 ubuntu 中安装 php-mbstring 包时遇到问题,请执行以下操作
<代码>
sudo apt-get install libapache2-mod-php5

If someone is having trouble with installing php-mbstring package in ubuntu do following

sudo apt-get install libapache2-mod-php5

浪漫之都 2024-08-06 20:00:55

如果您不知道如何在windows中启用php_mbstring扩展,请打开您的php.ini并删除扩展之前的分号:

修改后将此更改

;extension=php_mbstring.dll

为此

extension=php_mbstring.dll

,您需要重置您的php服务器。

If you don't know how to enable php_mbstring extension in windows, open your php.ini and remove the semicolon before the extension:

change this

;extension=php_mbstring.dll

to this

extension=php_mbstring.dll

after modification, you need to reset your php server.

逐鹿 2024-08-06 20:00:55

对于 Debian/Ubuntu:

sudo apt-get install php7.0-mbstring

For Debian/Ubuntu:

sudo apt-get install php7.0-mbstring

幼儿园老大 2024-08-06 20:00:54

mbstring 是一个“非默认”扩展,默认情况下不启用; 请参阅手册的此页

安装

mbstring 是非默认扩展。
这意味着它未被启用
默认。 您必须明确启用
具有配置选项的模块。
有关详细信息,请参阅安装部分

因此,您可能必须启用该扩展,修改 php.ini 文件(并重新启动 Apache,以便考虑您的修改)

我不使用 CentOS,但您可能必须先安装扩展,使用类似这样的东西(请参阅这个页面,例如,这似乎给出了一个解决方案)

yum install php-mbstring

(包名称可能有点不同;所以,使用 yum search得到它:-) )

mbstring is a "non-default" extension, that is not enabled by default ; see this page of the manual :

Installation

mbstring is a non-default extension.
This means it is not enabled by
default. You must explicitly enable
the module with the configure option.
See the Install section for details

So, you might have to enable that extension, modifying the php.ini file (and restarting Apache, so your modification is taken into account)

I don't use CentOS, but you may have to install the extension first, using something like this (see this page, for instance, which seems to give a solution) :

yum install php-mbstring

(The package name might be a bit different ; so, use yum search to get it :-) )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文