致命错误:调用未定义的函数utf8_substr()Opencart

时间:2016-09-23 06:54:43

标签: php opencart opencart2.x

我的网站在过去2个月内工作正常,但现在显示500 Server错误消息。然后我看到它说的error.log文件

  

PHP致命错误:在第11行的public_html / catalog / model / tool / image.php中调用未定义的函数utf8_substr()

指定位置的代码是:

$new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

然后我认为可能是因为缓存然后我清除了缓存并仍然得到相同的错误消息。我在谷歌上寻找解决方案,我找到了一些解决方案,如Clearing cache,检查startup.phputf8.php是否缺失,但文件位于正确的位置。这是生产环境,网站从最近两天开始下降。

请告诉我这个问题的解决方案。

我正在运行Opencart版本2.0.3.1

提前致谢

3 个答案:

答案 0 :(得分:3)

我找到了解决方案。我的网站缺少mbstring扩展名。 yum install mbstring无法在我的服务器上运行,因为它名为ea-php56-php-mbstring-5.6.26-1.1.2.cpanel.x86_64。我安装了这个,我的网站再次运行。如果你也遇到同样的问题。然后请ssh进入您的站点并检查是否已安装mbstring,您可以通过运行php -m | grep mbstring来检查它是否会返回任何内容如果未安装mbstring但是如果安装了扩展,那么它将返回mbstring。如果缺少mbstring,则可以运行此命令yum search mbstring它将使用mbstring字词搜索扩展名。然后运行此命令yum install NAME_OF_FILE。将NAME_OF_FILE替换为mbstring文件的名称。然后按照说明进行安装。您可以通过运行mbstring命令交叉检查是否安装了php -m | grep mbstring。在我的案例中它非常有用。如果我没有正确解释,我很抱歉。谢谢tmquang6805

答案 1 :(得分:1)

请检查您是否已安装mbstringiconv PHP扩展程序。因为这个函数只是在你安装其中一个时才加载。这是您的案例reindex

的代码

答案 2 :(得分:0)

安装php-mbstring,唯一的解决方案