Antes de empezar a informar de un nuevo problema en el repositorio de GitHubGitHub GitHub es un sitio web que ofrece una implementación en línea de repositorios git que otros desarrolladores pueden compartir, copiar y modificar fácilmente. Los repositorios públicos se alojan de forma gratuita; los repositorios privados requieren una suscripción de pago. GitHub introdujo el concepto de «pull request», mediante el cual los cambios de código realizados en ramas por colaboradores pueden revisarse y debatirse antes de que el propietario del repositorio los fusione. https://github.com/, asegúrate de comprobar tu instalación local, ya que algunos ajustes pueden provocar normalmente un resultado inesperado de tus comandos de WP-CLIWP-CLI WP-CLI es la interfaz de línea de comandos de WordPress, utilizada para realizar tareas administrativas y de desarrollo de forma programática. La página del proyecto es http://wp-cli.org/ https://make.wordpress.org/cli/.
¿Cómo obtengo información más detallada sobre mi instalación de WP-CLI?
WP-CLI ofrece el comando wp --info, que proporciona mucha información sobre el entorno de instalación de WP-CLI. El resultado te indicará,
* en qué sistema operativo y shell trabajas
* qué binario de PHPPHP PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de scripting de código abierto y de propósito general ampliamente utilizado, especialmente adecuado para el desarrollo web y que puede integrarse en HTML. https://www.php.net/manual/en/index.php se utiliza para ejecutar WP-CLI
* qué versión de PHP se utiliza
* dónde encontrar el directorio raíz de WP-CLI
* dónde encontrar el directorio de proveedores de WP-CLI
* con qué binario de WP-CLI estás trabajando actualmente (ruta del phar)
* dónde se almacenan los paquetes de WP-CLI
* dónde encontrar los archivos de configuración global y del proyecto para WP-CLI y
* qué versión de WP-CLI utilizas.
¿Qué debo hacer antes de empezar a depurar problemas?
Antes de empezar a depurar problemas, asegúrate de utilizar la versión más reciente de WP-CLI. Es posible que la última versión ya haya solucionado el problema que experimentas. El comando wp cli update actualizará tu versión de WP-CLI o confirmará que ya utilizas la última versión. Si la instalación se bloquea, asegúrate de tener permiso para conectarte a GitHub mediante SSLSSL Secure Socket Layer: cifrado desde el servidor hasta el navegador y viceversa. Evita que personas indiscretas vean lo que envías entre tu navegador y el servidor. (puerto 443) y git (puerto 9418) para las conexiones salientes.
¿Qué debo hacer si el resultado de WP-CLI es diferente de lo esperado?
Antes de empezar a investigar un error, debes conocer los factores que pueden cambiar el comportamiento predeterminado de WP-CLI y cómo comprobar si podrían ser la causa principal del problema. Existen cinco subsistemas principales que modifican este comportamiento predeterminado: variables de entorno, archivos de configuración, paquetes de WP-CLI, el archivo wp-config.php y las extensiones de WordPress (plugins, temas, plugins imprescindibles y drop-ins).
Variables de entorno
La configuración de tu entorno de trabajo es un requisito previo para ejecutar WP-CLI. Puedes comprobar la configuración actual de tu entorno con el comando de shell env.
Si quieres ejecutar WP-CLI de forma remota mediante SSHSSH Secure SHell: protocolo para conectarse de forma segura a un sistema remoto, además de una contraseña o en su lugar., es necesario que el comando wp sea accesible en la ruta del servidor remoto. El comportamiento de WP-CLI también puede modificarse durante la ejecución mediante variables de entorno:
WP_CLI_CACHE_DIR– Directorio donde almacenar la caché de archivos de WP-CLI. El valor predeterminado es~/.wp-cli/cache/.WP_CLI_CONFIG_PATH– Ruta al archivo globalconfig.yml. El valor predeterminado es~/.wp-cli/config.yml.WP_CLI_CUSTOM_SHELL– Permite al usuario anular el shell predeterminado/bin/bashutilizado.WP_CLI_DISABLE_AUTO_CHECK_UPDATE– Desactiva las comprobaciones automáticas de actualizaciones de WP-CLI.WP_CLI_DOCKER_NO_TTY– Ignora el estado tty detectado y elimina la opción--ttydedocker execal ejecutar WP-CLI contra un contenedor docker mediante ssh.WP_CLI_DOCKER_NO_INTERACTIVE– Ignora el estado tty detectado y elimina la opción--interactivededocker execal ejecutar WP-CLI contra un contenedor docker mediante ssh.WP_CLI_PACKAGES_DIR– Directorio donde almacenar los paquetes instalados mediante la gestión de paquetes de WP-CLI. El valor predeterminado es~/.wp-cli/packages/.WP_CLI_PHP– Ruta del binario de PHP que se utilizará al anular el valor predeterminado del sistema (solo funciona con instalaciones que no sean Phar).WP_CLI_PHP_ARGS– Argumentos que se pasarán al binario de PHP al invocar WP-CLI (solo funciona con instalaciones que no sean Phar).WP_CLI_SSH_PRE_CMD– Al utilizar--ssh=<ssh>, ejecuta un comando antes de que WP-CLI llame a WP-CLI en el servidor remoto.WP_CLI_SSH_BINARY– Al utilizar--ssh=<ssh>, este es el comando que se llamará en la máquina remota en lugar dewp.WP_CLI_STRICT_ARGS_MODE– Evita ambigüedades indicando a WP-CLI que trate como globales todos los argumentos anteriores al comando y como locales los posteriores.WP_CLI_SUPPRESS_GLOBAL_PARAMS– Establece el valortruepara omitir la visualización de los parámetros globales al final de la pantalla de ayuda. Esto ahorra espacio en pantalla para usuarios avanzados.WP_CLI_FORCE_USER_LOGIN– Establece el valor1para forzar que el valor proporcionado a la opción--userse interprete como un nombre de usuario en lugar de un ID, evitando así tipos ambiguos.WP_CLI_EARLY_REQUIRE– Carga uno o más archivos PHP personalizados (separados por comas) al principio del proceso de arranque.WP_CLI_REQUIRE– Carga uno o más archivos PHP personalizados (separados por comas) después del proceso de arranque. Esto tiene el mismo efecto que--requireen la línea de comandos o que una asignaciónrequireen un archivo de configuración wp-cli.yml.WP_CLI_USER_AGENT– Establece el valor de$_SERVER['HTTP_USER_AGENT']del que dependen algunos plugins y herramientas.
Para establecer una variable de entorno bajo demanda, puedes colocar la definición de la variable de entorno antes del comando de WP-CLI que quieras ejecutar (por ejemplo, EDITOR=vim wp post edit 1); para sobrescribir variables de entorno, utiliza export VARIABLE=value en tu archivo ~/.bashrc o ~.zhsrc.
Archivos de configuración de WP-CLI
Los archivos de configuración te permiten personalizar el comportamiento de WP-CLI para adaptarlo a tus necesidades personales o a las de tu proyecto. Si el archivo de configuración es incorrecto o incluye modificaciones no deseadas del comportamiento predeterminado, el resultado de WP-CLI probablemente reflejará el error.
Ten en cuenta que un archivo de configuración del proyecto puede anular la configuración de un archivo de configuración global.
Cambia el nombre o elimina tus archivos de configuración y compara el resultado para averiguar si una configuración pudo haber causado el problema.
Paquetes de WP-CLI
Los paquetes de WP-CLI son proyectos mantenidos por la comunidad y construidos sobre WP-CLI. Pueden contener comandos de WP-CLI, pero también pueden simplemente ampliar WP-CLI de alguna manera. Aunque WP-CLI funcione perfectamente, un paquete con errores también puede causar resultados inesperados. Para omitir la carga de todos los paquetes instalados, utiliza wp --skip-packages.
Archivo de configuración de WordPress (wp-config.php)
Pueden producirse errores al mover o editar wp-config.php más allá de lo que WP-CLI admite. Si recibes un error de análisis, comprueba la codificación del archivo wp-config.php (UTF-8 sin BOM).
Asegúrate de que la línea require_once(ABSPATH . 'wp-settings.php'); permanezca en el archivo wp-config.php y no modifiques wp-config.php más allá de las definiciones de constantes. Si llamas a funciones de WordPress dentro de wp-config.php, PHP fallará con un error fatal.
Si quieres utilizar $_SERVER['HTTP_HOST'] en tu wp-config.php, tendrás que establecer un valor predeterminado en el contexto de WP-CLI:
if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
$_SERVER['HTTP_HOST'] = `example.com';
}
En lugar de $_SERVER['document_root'], utiliza dirname( __FILE__ ) o algo similar.
Extensiones de WordPress
Los temas y plugins de WordPress pueden entrar en conflicto con el proceso de carga de WP-CLI o interferir, por ejemplo, redirigiendo a los usuarios. A menudo hacen suposiciones que no son ciertas en el contexto de WP-CLI, como utilizar el nombre de host de la solicitud actual (un concepto que no existe en el contexto de la línea de comandos).
Puedes omitir plugins y temas concretos (por ejemplo, --skip-plugins=akismet) o omitirlos por completo (wp --skip-plugins --skip-themes).
¿Qué debo hacer si WP-CLI informa de un error?
Los problemas habituales son consecuencia de cambios en tu wp-config.php o en la configuración del servidor web. La sección «Problemas habituales» del manual enumera los mensajes de error más comunes y explica cómo gestionar estos errores.
Intenta reproducir el problema en una instalación nueva de WordPress con un tema predeterminado (Twenty …) y sin plugins instalados. Si el problema solo se reproduce en un entorno personalizado, entonces es un error de tu entorno, no de WP-CLI. Asegúrate también de activar el modo de depuración de WordPress estableciendo la constante define( 'WP_DEBUG', true ); en tu wp-config.php. Esto puede revelar problemas de tu instalación actual de WordPress que no estén causados por WP-CLI.
Además, puedes utilizar el parámetro global --debug de WP-CLI para mostrar todos los errores de PHP y aumentar la verbosidad del arranque de WP-CLI.
He comprobado todo lo anterior, pero sigo teniendo un problema. ¿Dónde puedo informar de problemas?
Si crees que has encontrado un error, estaremos encantados de que nos lo comuniques para poder solucionarlo.
Los informes de errores de WP-CLI se gestionan en GitHub. Antes de crear un nuevo problema, busca entre los problemas existentes para comprobar si ya existe una solución. Si no hay ningún problema abierto o solucionado para tu error, sigue nuestras directrices para enviar un informe de errores a fin de asegurarte de que se atienda a tiempo. Proporcionar el resumen, los pasos para reproducirlo, los detalles del entorno y las demás especificaciones indicadas a continuación ayudará a garantizar que envíes un informe de errores completo.
Proporciónanos:
* un resumen del problema en forma narrativa,
* una lista detallada y específica de los pasos para reproducir el problema,
* detalles del entorno en el que trabajas,
* una descripción de cómo afecta el error a tu uso (es decir, los resultados esperados en comparación con los resultados reales), incluido el nivel de gravedad,
* posibles soluciones alternativas y
* diagnósticos relevantes, como informes de bloqueos, trazas de pila o resultados de depuración.
Puedes encontrar una descripción detallada de estos aspectos de un informe de problemas en las directrices para enviar un informe de errores.