我最近搬到了一个非托管 VPS 并将 Joomla 组件添加到客户端网站,并在尝试使用组件的特定部分时收到以下错误。
致命错误:在第 135 行的 /home/oursite/public_html/components/com_rsfiles/helpers/files.php 中调用未定义函数 mb_strtolower()
我确定如果这是在共享机器上,则不会引发错误,因为他们会将服务器配置为接受它。但这不是我的情况。我必须配置它才能工作。
最初的错误让我确定是否在我们的服务器上启用了 mbstring,但事实并非如此。
所以我想知道如何启用它。谷歌了!发现它可能是 php.ini 文件的派生文件,所以我尝试使用这个 php.ini 定义来启用它。zend.multibyte = 1。添加该行后,我重新启动了 Apache Web 服务器,但 php 信息页面仍然显示它已禁用。:-(
在进行上述修改后,我在尝试访问同一页面时收到了一个不同的错误,引发了原始错误。这是新的错误:
致命错误:无法将脚本从检测到的编码“UTF-8”转换为第 609 行 /home/psgadmincore/public_html/libraries/legacy/controller/legacy.php 中的兼容编码
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_overload = 0
我取消了所有这些认为它们也必须启用的注释,但是返回了“无法转换脚本”错误。
有人可以指导我使用概述包含“多字节字符串库”所需步骤的程序吗?
CENTOS 6.7 x86_64 virtuozzo w/Cpanel - php 5.4.33
这些网站对我没有帮助:http: //php.net/manual/en/ref.mbstring.php http://php.net/manual/en/ini.core.php#ini.zend.multibyte
谢谢