3
respostas

$_SERVER['PATH_INFO'] está vindo vazio quando é acessado "localhost:8000/"

Salve! Quando coloco no navegador o endereço raiz, não está carregando o $_SERVER['PATH_INFO'] Qualquer outra URL, o PATH_INFO aparece, só não aparece quando é "/". Alguma sugestão? Obrigado.

Warning: Undefined array key "PATH_INFO"
3 respostas

Olá, Giuli! Tudo bem?

Isso acontece porque o $_SERVER['PATH_INFO'] é uma variável que contém informações adicionais após o caminho do arquivo no URL. No caso do endereço raiz, não há nada após o caminho do arquivo, por isso o valor está vazio.

Uma sugestão para contornar esse problema é verificar se o valor de $_SERVER['PATH_INFO'] está vazio e atribuir um valor padrão caso isso ocorra. Por exemplo:

$pathInfo = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '/';

Dessa forma, você estará atribuindo o valor "/" caso $_SERVER['PATH_INFO'] esteja vazio.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Olá Vinicius, obrigado pela resposta. Na verdade, é mais uma curiosidade mesmo, pois o do professor funciona mesmo sendo "/" (raiz). Sua solução funciona, mas saberia o motivo de o porquê o do professor funciona? Obrigado!

Olá, Giuli. Na verdade na aula acontece este mesmo erro e o professor realiza a correção de uma forma "semelhante" que disse acima:

Pode colocar em 7:20 :

https://cursos.alura.com.br/course/php-web-conhecendo-padrao-mvc/task/118307