Desarrollo y bases de datos

Rutas de los binarios de PHP correspondientes a cada versión

Revisado el 3 min de lectura PHP binarios

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

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.