7
respostas

Erro ao executar o mb_strtoupper()

Olá pessoal, estou tendo problemas na hora de executar o código. A saída do terminal diz que o problema é a linha, onde, está o método mb_strtoupper(). No momento, estou usando como sistema operacional, o Windows 10. Alguém poderia me ajudar? Obrigado!

7 respostas

Olá Leonardo, pode informar qual a mensagem de erro e qual é o seu código (pelo menos a linha com o mb_strtoupper)?

Olá, Leonardo. Você não informou a mensagem de erro, mas provavelmente o problema acontece pois você não habilitou a extensão mbstring.

Neste vídeo eu executo este procedimento no Windows 10: https://cursos.alura.com.br/course/php-arrays-strings-funcoes/task/55527

Mensagem de erro: Fatal error: Uncaught Error: Call to undefined function mb_strtoupper() in I:\arquivos\cursos\alura\alura\php\primeiros-passos\projeto\avancado\funcoes.php:29 Stack trace: #0 I:\arquivos\cursos\alura\alura\php\primeiros-passos\projeto\avancado\banco.php(26): titularComLetrasMaiusculas(Array) #1 {main} thrown in I:\arquivos\cursos\alura\alura\php\primeiros-passos\projeto\avancado\funcoes.php on line 29

<?php
function exibirMensagem($mensagem)
{
    echo $mensagem . '<br>';
}

function sacar(array $conta, float $valorASacar) : array
{
    if ($valorASacar <= $conta['saldo']) {
        $conta['saldo'] -= $valorASacar;
    } else {
        exibirMensagem("Saldo indisponível.");
    }
    return $conta;
}

function depositar(array $conta, float $valorADepositar) : array
{
    if ($valorADepositar > 0) {
        $conta['saldo'] += $valorADepositar;
    } else {
        exibirMensagem("Valor inválido.");
    }
    return $conta;
}

function titularComLetrasMaiusculas(&$conta)
{
    $conta['titular'] = mb_strtoupper($conta['titular']);
}

function exibirConta(array $conta)
{
    echo "<li>Titular: {$conta['titular']}. Saldo: {$conta['saldo']} </li>";
}

Baseado na mensagem de erro parece ser exatamente o que o instrutor Vinicius explicou, a extensão mbstring não está instalada/ativada.

Dá uma olhada no vídeo que ele mandou: https://cursos.alura.com.br/course/php-arrays-strings-funcoes/task/55527

Então, já realizei os passos que tinha que fazer para configurar desta aula, mas mesmo assim continua persistindo o mesmo erro.

Faz esse teste no terminal então por favor e diz aqui qual o resultado:

php -a

Deve aparecer algo assim:

Depois executa:

echo extension_loaded('mbstring');

Se o resultado for 1 a extensão mbstring está ativada, se não retornar nada a mbstring não está ativada: