Problemas por la versión shell usada y wp-cli (cPanel version)
Introducción
A veces podemos encontrarnos con un usuario con un Wordpress muy, muy obsoleto, y aunque tengamos la versión de PHP requerida en el shell, seguiremos teniendo problemas con wp cli porque este depende de la instalación de WP que tiene. La solución pasa por usar la versión php original
En cpanel es fácil hacer esto,
Aunque este tip es para cPanel, vale para cualquier distribución Linux o *nix. adaptando el tip a tu SO
Si buscas algo para Directadmin, te dejo aqu: PHP en shell para usar wp cli en DirectAdmin
Ejemplo
wp core update && wp plugin upgrade --all && wp theme upgrade --all
Fatal error: __autoload() is no longer supported, use spl_autoload_register() instead in /home/user/public_html/wiki.dominio.com/wp-includes/compat.php on line 502
php -v
PHP 7.2.34 (cli) (built: Mar 28 2023 21:20:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.
with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies
El usuario tiene una versión correcta en la que todavía no estaba declarada obsoleta la función __autoload()
Así que vemos en el sistema que versiones hay y su path.
Como root podemos hacer
whmapi1 php_get_installed_versions
---
data:
versions:
- ea-php54
- ea-php55
- ea-php56
- ea-php70
- ea-php71
- ea-php72
- ea-php73
- ea-php74
- ea-php80
- ea-php81
- ea-php82
metadata:
command: php_get_installed_versions
reason: OK
result: 1
version: 1
Así que las versiones que tenemos están en /opt/cpanel/ea-phpXX/root/usr/bin/php
Ahora solo nos queda llamar al wp-cli de forma adecuada
72
es la versión que queremos usar
/usr/local/bin/wp
es el path de instalación global de la herramienta wp
/opt/cpanel/ea-php72/root/usr/bin/php /usr/local/bin/wp core update
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.