"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver aviso de efeito colateral de sessão PHP relacionado a variáveis ​​globais?

Como resolver aviso de efeito colateral de sessão PHP relacionado a variáveis ​​globais?

Publicado em 2024-11-04
Navegar:230

How to Resolve PHP Session Side-Effect Warning Related to Global Variables?

Aviso de efeito colateral da sessão PHP: problemas com variáveis ​​globais

Ao tentar hospedar um site PHP, você pode encontrar um aviso informando que seu script depende de um efeito colateral de sessão que foi descontinuado no PHP 4.2.3. Este aviso surge quando a extensão da sessão não reconhece variáveis ​​globais como fonte de dados, a menos que a opção register_globals esteja habilitada.

Compreendendo o problema

Variáveis ​​globais são variáveis ​​que podem ser acessado de qualquer escopo dentro do script. Em versões mais antigas do PHP, a extensão da sessão registraria automaticamente variáveis ​​globais na sessão. No entanto, esse comportamento foi considerado um risco de segurança e foi removido no PHP 4.2.3.

Rastreando a fonte

Para identificar a origem do aviso, procure por instâncias em que você está usando variáveis ​​globais no contexto da sua sessão. Especificamente, verifique variáveis ​​com o mesmo nome das variáveis ​​de sessão, pois isso pode causar o aviso.

Desativando o aviso

Você pode desativar o aviso definindo o PHP opções de configuração 'session.bug_compat_warn' e 'session.bug_compat_42' para 'off'. Essas configurações podem ser definidas das seguintes maneiras:

  • php.ini:
session.bug_compat_warn = 0
session.bug_compat_42 = 0
  • .htaccess:
php_value session.bug_compat_warn 0
php_value session.bug_compat_42 0

Solução alternativa:

Como alternativa, você pode evitar que o PHP tente encontrar variáveis ​​existentes adicionando as seguintes linhas ao seu script:

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
Declaração de lançamento Este artigo foi reimpresso em: 1729168997 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3