Para los que trabajamos con WordPress, wp-cli es una herramienta salvavidas. Por su versatilidad, su potencia, y porque nos permite realizar cómodamente una gran cantidad de operaciones relacionadas con el despliegue y el mantenimiento de las plataformas. Su instalación es rápida y sencilla y su uso está bien documentado. Sin embargo, no son pocos los que desisten de utilizarla porque no logran instalarla, pese a que las instrucciones para su instalación se pueden encontrar con facilidad y los pasos vienen a ser siempre los mismos, los que describimos a continuación.
Se recomienda utilizar un usuario no root. No es requisito imprescindible, pero de no ser así se nos mostrará una advertencia.
1. Descarga del archivo .phar
Mediante
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
descargamos el archivo wp-cli.phar, que es el archivo PHP empaquetado que nos va a permitir ejecutar los comandos de wp-cli. Ojo, como vamos a ver a continuación, no tenemos que descomprimirlo ni desplegarlo. Es mucho más sencillo.
2. Ver si se ha descargado correctamente
En el mismo directorio en el que hemos realizado la descarga, ejecutamos
php wp-cli.phar --info
Deberíamos obtener un mensaje parecido al siguiente:
OS: Linux 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 Shell: /bin/bash PHP binary: /usr/bin/php7.3 PHP version: 7.3.15-3+ubuntu18.04.1+deb.sury.org+1 php.ini used: /etc/php/7.3/cli/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /tmp WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0
En caso de que obtengamos un mensaje del tipo «Not found» o similar, nos estará indicando que el archivo .phar no se ha descargado correctamente y tendremos que buscar otra fuente.
3. Permisos de ejecución
Para deshacernos de ese prefijo «php», asignamos permisos de ejecución al archivo:
chmod +x wp-cli.phar
Si ejecutamos ahora
./wp-cli.phar
obtendremos la misma salida de antes:
OS: Linux 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 Shell: /bin/bash PHP binary: /usr/bin/php7.3 PHP version: 7.3.15-3+ubuntu18.04.1+deb.sury.org+1 php.ini used: /etc/php/7.3/cli/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /tmp WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0
4. Mover y renombrar
Finalmente, movemos el archivo a /usr/bin para que se pueda ejecutar desde cualquier sitio y le damos un nombre más manejable: wp. En este paso sí tendremos que tirar de superusuario.
sudo mv wp-cli.phar /usr/bin/wp
Este paso, que como puede verse no tiene dificultad alguna, es en el que se quedan atascadas tontamente muchas instalaciones. El motivo es el siguiente: aquí, wp no es un directorio, sino el el nuevo nombre que le damos a wp-cli.phar para que sea más cómodo de usar. No son pocos los que creen, erróneamente, que lo que hay que hacer en este paso es mover el archivo .phar al directorio /usr/bin/wp/, un directorio que no existe por defecto y que muchos crean pensando que hacen lo correcto.
Si lo hiciéramos así, al intentar usar wp-cli (por ejemplo, con el comando wp –info), obtendríamos un mensaje de error:
wp: command not found
Si por el contrario hemos hecho lo correcto, es decir, mover el archivo .phar a /usr/bin/ y renombrarlo como wp, al volver hacer el test con el nuevo comando
wp --info
el resultado debería ser el mismo de antes, con independencia ya del directorio desde el que lo ejecutemos.