WP-CLI solo se puede ejecutar correctamente bajo PHP cli
SAPI, no bajo una API de servidor web como cgi
, apache
o similar. Esto tiene algunas razones técnicas, pero también está directamente relacionado con la seguridad de su servidor.
WP-CLI es una aplicación de consola
La primera razón técnica es que WP-CLI es una aplicación de consola y asume el acceso a la entrada de la consola (STDIN
) y salida (STDOUT
) arroyos. Dentro del contexto del servidor web en el que se ejecuta WordPress, estos no existen. La «entrada» para un servidor web es la URL y la carga útil de una solicitud web, y la salida es el HTML o JSON que se envía de vuelta al navegador.
WP-CLI es un envoltorio alrededor de WordPress
La segunda razón técnica es que WP-CLI es básicamente un «truco» que «envuelve» una instalación completa de WordPress y la ejecuta como una subrutina dentro de su propio proceso. Si intentara usar WordPress para iniciar WP-CLI, tendría un problema de huevo y gallina, o una interpretación de software de «Inicio».
WP-CLI es una herramienta de administrador de sistemas
La razón por la que esto también es directamente relevante en términos de seguridad es que WP-CLI es, en el sentido más amplio, una herramienta de administración de sistemas. Creará, modificará, eliminará archivos directamente, realizará solicitudes directas contra la base de datos y más. Todas sus operaciones pueden eludir cualquier medida de seguridad que WordPress y sus complementos puedan haber implementado a nivel de la aplicación. Hacer que WP-CLI sea accesible para la interfaz pública y permitir que se active a través de solicitudes web lo convertiría en una vulnerabilidad de seguridad crítica. Ninguna herramienta de administración del lado del servidor debe estar expuesta a la interfaz de ninguna manera.
Con suerte, esto explica por qué lo que quieres hacer no se puede hacer y por qué no querrías hacerlo si pudieras.
.