"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo determinar de manera confiable si mi script PHP se ejecuta desde la línea de comandos o mediante HTTP?

¿Cómo puedo determinar de manera confiable si mi script PHP se ejecuta desde la línea de comandos o mediante HTTP?

Publicado el 2024-12-21
Navegar:955

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

Determinación de la línea de comandos frente a la ejecución HTTP en PHP

Una tarea común en el desarrollo de scripts PHP es determinar el tipo de entorno de ejecución, si el script se ejecuta a través de la línea de comandos o mediante HTTP. Este conocimiento es crucial para tomar decisiones sobre el formato de salida y personalizar el comportamiento en consecuencia.

El método tradicional de verificar la existencia de SERVER['argc'] no es confiable, ya que se puede completar incluso cuando se usa API del servidor del controlador 2.0. La forma canónica de resolver esta consulta es utilizando la función php_sapi_name().

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

La función php_sapi_name() proporciona una amplia gama de posibles valores de retorno, incluidos aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli y webjames, entre otros. Consulte la documentación de PHP para obtener una lista exhaustiva.

Además, en PHP >= 4.2.0, una constante predefinida PHP_SAPI tiene el mismo valor que php_sapi_name(). Al utilizar esta constante, los desarrolladores pueden mejorar la legibilidad y el mantenimiento del código.

Al adherirse a este enfoque canónico, los desarrolladores de PHP pueden determinar de manera confiable el entorno de ejecución de sus scripts, lo que permite un formato de salida específico y ajustes de comportamiento personalizados.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3