O erro “Warning: create_function() has been disabled for security reasons” pode ser facilmente resolvido e você nem precisa ligar para o nosso suporte.
Você mesmo pode ajustar!
Warning: create_function() no site WordPress
Em certos casos, você pode se deparar com o seguinte erro em seu site WordPress:
Esse tipo de erro acontece por um motivo bem específico. A função create_fuction é uma função já depreciada na versão 7.2 do PHP e mais recentes. Além disso, o próprio WordPress já deixou de a utilizar. A versão 4.9 do WordPress já trabalha sem utilizar ela. Aqui na KingHost, essa função está desabilitada por padrão por questões de segurança. Essa função executa um eval() e, por isso, tem os mesmos problemas de segurança da eval(). Além disso, ele tem características de má performance e uso ruim de memória.
Você pode consultar isso na própria documentação do PHP: http://php.net/manual/pt_BR/function.create-function.php.
Comparação entre as versões mais antigas do WordPress e uma mais recente
Para fins de comparação, temos abaixo dois trechos de código do arquivo /wp-includes/pomo/translations.php.
Na primeira, a versão 4.2 do WordPress e na segunda a versão 4.9 com o código já corrigido (versão mais recente no momento da publicação desse artigo).
➡ WP 4.2 – /wp-includes/pomo/translations.php | 208
Atente-se à linha 6 desse trecho de código, onde é usada a função create_function já depreciada e, como resultado, é considera insegura.
function make_plural_form_function($nplurals, $expression) {
$expression = str_replace('n', '$n', $expression);
$func_body = "
\$index = (int)($expression);
return (\$index < $nplurals)? \$index : $nplurals - 1;";
return create_function('$n', $func_body);
}
➡ WP 4.9 – /wp-includes/pomo/translations.php | 208
Por outro lado, nessa versão o WordPress já não faz mais uso da create_function.
function make_plural_form_function($nplurals, $expression) {
try {
$handler = new Plural_Forms( rtrim( $expression, ';' ) );
return array( $handler, 'get' );
} catch ( Exception $e ) {
// Fall back to default plural-form function.
return $this->make_plural_form_function( 2, 'n != 1' );
}
}
A hospedagem de sites WordPress é perfeita para quem utiliza a plataforma de publicação mais usada do mundo
O WordPress está presente em 28% dos sites do mundo. Portanto a KingHost uniu o suporte especializado com as melhores tecnologias de segurança, performance e marketing online para criar uma plataforma de hospedagem ideal para sites WordPress de qualquer tamanho.
Confira os recursos da hospedagem WordPress na KingHost
Ok, mas como corrigir a dificuldade?
Além de ser fácil de ser corrigida, basicamente o que faremos faz bem para o funcionamento correto e com segurança do nosso WordPress.
➡ Primeiramente faça um backup completo do seu FTP e banco de dados utilizado pelo CMS;
➡ Posteriormente execute a atualização do seu WordPress (você pode fazer através do seu painel de administração da plataforma).
Pronto! É só isso. 😀