POP HOSTING

Como habilitar o allow_url_fopen no cPanel, sem o arquivo htaccess imprimir

  • allow_url_fopen, php, select php version, file_get_contents, php.ini, curl, cpanel
  • 122

O allow_url_fopen do PHP não muda pelo arquivo htaccess. Veja como habilitar no cPanel pelo Select PHP Version e como conferir se deu certo.

  • Tempo: 5 min
  • Nível: Iniciante
  • Vale para: hospedagem cPanel com CloudLinux e LiteSpeed, PHP 7.4 a 8.5
  • Atualizado: outubro de 2026

O allow_url_fopen é a diretiva que deixa funções como file_get_contents(), fopen() e getimagesize() abrirem um endereço da internet (https://…) como se fosse um arquivo local. Muitos scripts usam isso para ler uma API, baixar um feed RSS ou checar uma imagem remota. Quando ela está desligada, o PHP mostra um aviso e a função devolve false.

Por que a linha no arquivo htaccess não funciona

Muitos tutoriais antigos mandam colocar php_value allow_url_fopen on ou php_flag allow_url_fopen on no .htaccess. Isso nunca funcionou de verdade: pela documentação do PHP, o allow_url_fopen é uma diretiva do tipo INI_SYSTEM, que só pode ser definida no php.ini do servidor. O php_flag e o php_value do .htaccess só alteram diretivas dos tipos INI_PERDIR e INI_ALL.

Na prática, o resultado depende do servidor:

  • LiteSpeed (o servidor web da nossa hospedagem): a linha é aceita, mas ignorada em silêncio. O site não quebra e a diretiva continua como estava.
  • Apache com PHP-FPM ou CGI: o php_flag nem é reconhecido e o site passa a dar Erro 500.

Ou seja: se você colocou essa linha e "não aconteceu nada", é por isso. Pode apagá-la.

Antes de começar: confira se já está ligado

O valor padrão do PHP é ligado, então muitas vezes o problema é outro. Crie um arquivo teste-fopen.php na pasta do site com o conteúdo abaixo, abra no navegador e apague o arquivo depois:

<?php
var_dump(ini_get('allow_url_fopen'));

Se aparecer string(1) "1", a diretiva já está ativa e o erro do seu script tem outra causa (veja Problemas comuns). Se aparecer string(0) "" ou "0", siga o passo a passo.

Como habilitar o allow_url_fopen no cPanel (Select PHP Version)

  1. Entre no cPanel. O jeito mais rápido é pela Área do Cliente, no botão de acesso ao cPanel do serviço.
  2. Abra o Select PHP Version. Fica na seção Software. Se não achar, digite "PHP" na busca do topo do cPanel.
  3. Confira a versão em uso. No topo da página aparece a versão atual do PHP. Se estiver como native, escolha uma versão numerada (por exemplo, 8.3) para liberar as opções.
  4. Vá para as opções do PHP. Clique na aba Options (em telas antigas, no link Switch to PHP Options).
  5. Marque o allow_url_fopen. Localize allow_url_fopen na lista e marque a caixa. Dependendo da versão da tela, a alteração é salva na hora ou é preciso clicar em Save/Apply.
  6. Teste de novo. Abra o teste-fopen.php e confira se mudou para "1". Depois apague o arquivo de teste.
Dica: se o domínio estiver com uma versão fixa no MultiPHP Manager, o Select PHP Version não vale para ele. Nesse caso, ajuste pelo MultiPHP INI Editor (modo Basic Mode, opção allow_url_fopen), confira com o arquivo de teste e, se o valor não mudar, abra um chamado.

Alternativa mais robusta: usar cURL no lugar do file_get_contents

Se o script é seu, prefira a extensão cURL para buscar URLs. Ela não depende do allow_url_fopen, aceita tempo limite e mostra o erro exato quando algo falha:

<?php
$ch = curl_init('https://api.exemplo.com.br/dados.json');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_TIMEOUT        => 15,
]);
$resposta = curl_exec($ch);
if ($resposta === false) {
    error_log('Falha no cURL: ' . curl_error($ch));
}
curl_close($ch);
Atenção: não confunda com o allow_url_include, que permite fazer include de um arquivo remoto. Esse deve ficar sempre desligado: é uma porta clássica de invasão e está obsoleto desde o PHP 7.4.

Problemas comuns

file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

É a mensagem do PHP 8 para diretiva desligada (em versões antigas: URL file-access is disabled in the server configuration). Habilite pelo passo a passo acima.

Liguei a opção, mas o teste continua mostrando 0

O site provavelmente está rodando outra versão do PHP, diferente da que você editou. Confira se o domínio está como inherit no MultiPHP Manager e se a versão escolhida no Select PHP Version é a mesma em que você marcou a opção.

failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden

O allow_url_fopen está funcionando: quem recusou foi o site remoto. Muitos servidores bloqueiam pedidos sem User-Agent. Use cURL e defina um CURLOPT_USERAGENT.

SSL operation failed / certificate verify failed

O certificado do endereço remoto está vencido ou incompleto. Não desligue a verificação de SSL; confirme a URL e, se for de um parceiro seu, peça a correção do certificado.

Quer uma hospedagem com PHP 8 que você ajusta pelo próprio cPanel? Conheça a hospedagem cPanel da POP Hosting, com LiteSpeed e suporte em português.

Esta resposta lhe foi útil?
« Retornar