"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 posso determinar com segurança se meu script PHP está sendo executado na linha de comando ou via HTTP?

Como posso determinar com segurança se meu script PHP está sendo executado na linha de comando ou via HTTP?

Publicado em 2024-12-21
Navegar:474

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

Determinando linha de comando versus execução HTTP em PHP

Uma tarefa comum no desenvolvimento de scripts PHP é determinar o tipo de ambiente de execução, seja o script está sendo executado por meio da linha de comando ou por HTTP. Esse conhecimento é crucial para tomar decisões de formatação de saída e personalizar o comportamento de acordo.

O método tradicional de verificar a existência de SERVER['argc'] não é confiável, pois pode ser preenchido mesmo ao usar o 'Apache API do servidor do manipulador 2.0. A maneira canônica de resolver esta consulta é utilizando a função php_sapi_name().

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

A função php_sapi_name() fornece uma ampla gama de valores de retorno possíveis, incluindo aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli e webjames, entre outros. Consulte a documentação do PHP para obter uma lista completa.

Além disso, no PHP >= 4.2.0, uma constante predefinida PHP_SAPI mantém o mesmo valor que php_sapi_name(). Ao utilizar essa constante, os desenvolvedores podem melhorar a legibilidade e a manutenção do código.

Ao aderir a essa abordagem canônica, os desenvolvedores de PHP podem determinar com segurança o ambiente de execução de seus scripts, permitindo formatação de saída direcionada e ajustes de comportamento personalizados.

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