降级php版本,现在casues错误调用未定义的函数

时间:2016-12-21 00:08:29

标签: php

https://github.com/akalongman/php-telegram-bot

我用作曲家安装它,一切正常

但现在我需要降级,因为能够使用mysql_ *函数。

现在当我尝试运行脚本时出现此错误

Call to undefined function Longman\TelegramBot\mb_strlen() in C:\xampp\htdocs\vendor\longman\telegram-bot\src\Request.php on line 366

这是代码

public static function sendMessage(array $data)
{
    if (empty($data)) {
        throw new TelegramException('Data is empty!');
    }
    $text = $data['text'];

    $string_len_utf8 = mb_strlen($text, 'UTF-8'); # << 366. line
    if ($string_len_utf8 > 4096) {
        $data['text'] = mb_substr($text, 0, 4096);
        $result = self::send('sendMessage', $data);
        $data['text'] = mb_substr($text, 4096, $string_len_utf8);
        return self::sendMessage($data);
    }
    return self::send('sendMessage', $data);
}

我没有看到任何错误,为什么php引擎会在类下面发布mb_strlen函数?

1 个答案:

答案 0 :(得分:3)

您可能忘记启用此扩展程序which is not enabled by default

  

mbstring是非默认扩展名。这意味着它未启用   默认。您必须使用configure显式启用该模块   选项。有关详细信息,请参阅“安装”部分。

     

以下配置选项与mbstring模块相关。

     

- enable-mbstring:启用mbstring函数。使用mbstring函数需要此选项。

     

libbfl对于mbstring是必需的。 libmbfl与mbstring捆绑在一起。   如果已在系统上安装了libmbfl,则--with-libmbfl [= DIR]   可以指定使用已安装的库。