Desarrollo y bases de datos
Rutas de los binarios de PHP correspondientes a cada versión
La orden php de la terminal y de los cronjobs suele usar la versión general seleccionada en el selector de PHP de cPanel, con los módulos activados para ella, pero no lo des por hecho: hemos visto cuentas en las que respondía PHP 8.1 con el selector en 8.4, y /usr/local/bin/php tampoco tiene por qué coincidir con tu web. Comprueba siempre con php -v y, para ejecutar un comando con una versión concreta, llama a su binario por la ruta absoluta. Una versión fijada para una carpeta en .htaccess afecta a las peticiones web de esa carpeta, no a la terminal ni a tus cronjobs.
Usa la ruta absoluta cuando una tarea deba ejecutarse con una versión concreta: en el cron de una aplicación, como el schedule:run de Laravel, es lo más seguro. Estas son las rutas ALT-PHP; comprueba que el binario esté instalado en tu cuenta antes de utilizarlo:
| Versión | Ruta |
|---|---|
| 5.4 | /opt/alt/php54/usr/bin/php |
| 5.5 | /opt/alt/php55/usr/bin/php |
| 5.6 | /opt/alt/php56/usr/bin/php |
| 7.0 | /opt/alt/php70/usr/bin/php |
| 7.1 | /opt/alt/php71/usr/bin/php |
| 7.2 | /opt/alt/php72/usr/bin/php |
| 7.3 | /opt/alt/php73/usr/bin/php |
| 7.4 | /opt/alt/php74/usr/bin/php |
| 8.0 | /opt/alt/php80/usr/bin/php |
| 8.1 | /opt/alt/php81/usr/bin/php |
| 8.2 | /opt/alt/php82/usr/bin/php |
| 8.3 | /opt/alt/php83/usr/bin/php |
| 8.4 | /opt/alt/php84/usr/bin/php |
| 8.5 | /opt/alt/php85/usr/bin/php |
Cada binario carga las extensiones seleccionadas para esa versión concreta. Si un cron usa PHP 8.3 y la web usa otra versión, activa también en PHP 8.3 los módulos que requiera el comando.
Comprobar versión, configuración y módulos
Por ejemplo, para PHP 8.3:
/opt/alt/php83/usr/bin/php -v /opt/alt/php83/usr/bin/php --ini /opt/alt/php83/usr/bin/php -m
Si aparece «No such file or directory», verifica las versiones disponibles; escribir la ruta no instala esa versión. Para comprobar qué resuelve la orden corta, utiliza command -v php y php -v.
Usar el binario en una tarea
Este ejemplo ejecuta un script con PHP 8.3 desde su directorio de trabajo:
cd /home/usuario/apps/mi-proyecto && /opt/alt/php83/usr/bin/php scripts/tarea.php
Sustituye ambas rutas y prueba primero el comando con una tarea que puedas ejecutar sin duplicar operaciones. En cPanel, introduce el comando en Trabajos de cron y define la frecuencia en los campos de programación. Conserva al principio una salida de diagnóstico privada para comprobar que termina correctamente.
Elegir un binario distinto no cambia la versión web ni garantiza que sus extensiones y opciones coincidan. Comprueba cada contexto que utilice la aplicación.
También te puede ayudar
- Cambiar la versión de PHP de una web con comprobación y vuelta atrás Cambia la versión de PHP de una web o la versión por defecto de tu hosting desde el área de clientes...
- Paquetes PHP PEAR en cPanel Busca, instala o elimina paquetes PEAR desde cPanel y añade la ruta /home/usuario/php al include_pat...
- Personalizar la configuración de PHP con el fichero .htaccess Cambia valores de PHP como max_input_vars, memory_limit o upload_max_filesize añadiendo php_value al...
- Versiones de PHP disponibles en todos los servicios de hosting Consulta las versiones de PHP disponibles, por qué todas funcionan y reciben parches, y cómo elegir...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.