web-dev-qa-db-ja.com

致命的エラー:未定義関数mb_strlen()の呼び出し

Totorialzineのソースコードを使用する寄付センターを作成しようとしています。

これまでのところすべてがうまく機能していますが、私が苦労して一日中見ようとしていた唯一の問題で、コードの実際の問題を正確に把握することはできません

訪問者が寄付するときにページにコメントを送信すると、次のようになります。

Fatal error: Call to undefined function mb_strlen() in /home/yoursn0w/public_html/livetv/premium/thankyou.php on line 14

これがphpファイルのコードです。

<?php

require "config.php";
require "connect.php";

if(isset($_POST['submitform']) && isset($_POST['txn_id']))
{
    $_POST['nameField'] = esc($_POST['nameField']);
    $_POST['websiteField'] =  esc($_POST['websiteField']);
    $_POST['messageField'] = esc($_POST['messageField']);

    $error = array();

    if(mb_strlen($_POST['nameField'],"utf-8")<2)
    {
        $error[] = 'Please fill in a valid name.';
    }

    if(mb_strlen($_POST['messageField'],"utf-8")<2)
    {
        $error[] = 'Please fill in a longer message.';
    }

    if(!validateURL($_POST['websiteField']))
    {
        $error[] = 'The URL you entered is invalid.';
    }

    $errorString = '';
    if(count($error))
    {
        $errorString = join('<br />',$error);
    }
    else
    {
        mysql_query("   INSERT INTO dc_comments (transaction_id, name, url, message)
                        VALUES (
                            '".esc($_POST['txn_id'])."',
                            '".$_POST['nameField']."',
                            '".$_POST['websiteField']."',
                            '".$_POST['messageField']."'
                        )");

        if(mysql_affected_rows($link)==1)
        {
            $messageString = '<a href="donate.php">You were added to our donor list! &raquo;</a>';
        }
    }
}

?>

PhpMyAdminに自分のデータベースをアップロードしました

ここでインストールの指示に従います

http://tutorialzine.com/2010/05/donation-center-php-mysql-Paypal-api/

59
Ali

PHPでは、関数mb_strlen()はデフォルトでは有効になっていません。インストールの詳細については、マニュアルをお読みください。

http://www.php.net/manual/en/mbstring.installation.php

71
AJ.

これを修正するには、php7.0-mbstringパッケージをインストールします。

Sudo apt install php7.0-mbstring
27
Usman

私にとって、次のコマンドはトリックをしました

Sudo apt install php-mbstring
7
webmaster

Centos、RedHat、Fedora、およびその他のyum-myシステムでは、PHPマニュアルが示唆するよりもはるかに簡単です。

yum install php-mbstring
service httpd restart
5
kubanczyk

私にとって、これはUbuntu 14.04およびphp5.6で機能しました。

$ Sudo apt-get install php5.6-mbstring
4
Mona Jalal

Googleがこのエラーを検索する場合

Call to undefined function mb_ereg_match()

このスレッドに誰かを連れて行きます。 php-mbstringをインストールしても解決します。

Ubuntu 18.04.1、PHP 7.2.10

Sudo apt-get install php7.2-mbstring
1
frmbelz