如何在PHP5.4.33 Apache服务器上启用mbstring?

如何在PHP5.4.33 Apache服务器上启用mbstring?,php,apache,joomla,mbstring,Php,Apache,Joomla,Mbstring,我最近转到了非托管VPS,并将Joomla组件添加到客户端网站,在尝试使用组件的特定部分时收到以下错误 致命错误:在第135行的/home/oursite/public\u html/components/com\u rsfiles/helpers/files.php中调用未定义的函数mb\u strtolower() 我确信如果这是在共享机器上,不会抛出错误,因为他们会配置服务器来接受它。但这不是我的情况。我必须配置它才能工作 最初的错误导致我确定我们的服务器上是否启用了mbstring,而不

我最近转到了非托管VPS,并将Joomla组件添加到客户端网站,在尝试使用组件的特定部分时收到以下错误

致命错误:在第135行的/home/oursite/public\u html/components/com\u rsfiles/helpers/files.php中调用未定义的函数mb\u strtolower()

我确信如果这是在共享机器上,不会抛出错误,因为他们会配置服务器来接受它。但这不是我的情况。我必须配置它才能工作

最初的错误导致我确定我们的服务器上是否启用了mbstring,而不是

所以我想知道我怎样才能做到这一点。谷歌搜索!发现它可能是php.ini文件的派生版本,所以我尝试使用这个php.ini定义启用它。zend.multibyte=1。添加行后,我重新启动了Apache web服务器,但php信息页面仍然显示它已禁用-(

在进行上述修改后,我在尝试访问相同页面时收到了一个不同的错误,抛出了原始错误。这是新错误:

致命错误:无法将脚本从第609行的/home/psgadmincore/public_html/libraries/legacy/controller/legacy.php中检测到的编码“UTF-8”转换为兼容的编码

php.ini文件中还有8个其他mbstring项,但它们都被注释掉了

;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http.output = SJIS
;mbstring.encoding_translation = On
;mbstring.detect_order = auto
;mbstring.substitute_character = none
;mbstring.func_重载=0

我取消了所有这些注释,认为它们也必须启用,但返回了“无法转换脚本”错误

有人能告诉我一个程序,它概述了包含“多字节字符串库”所需的步骤吗

CENTOS 6.7 x86_64 virtuozzo w/Cpanel-php 5.4.33

这些网站对我没有帮助:


谢谢你,

在@ceejayoz回复后,我想我会将php版本升级到5.6。我在WHM中使用EasyApache来执行以下过程。在升级过程中,我能够在详尽的选项列表中选择mbstring模块

  • 以“root”用户身份登录WHM。在“查找”框中键入easy。单击
  • EasyApache(Apache更新)。保留默认设置,然后单击设备 图标(自定义配置文件)
  • 保留默认值,然后单击下一步
  • 单击详尽的选项列表。(这是我选择 MB(字符串模块)
  • 单击Apache或PHP模块的名称,然后单击保存和构建

  • PHP5.4不再受支持,在公共服务器上运行也很危险,因为它将不再接收安全补丁。使用ini_set()怎么样直接在php脚本和值上最有可能的php是使用
    --disable mbstring
    选项编译的,您需要使用
    --enable mbstring
    重新编译才能启用此功能。