¿Cómo hago para que / bin / bash ejecute la versión de php deseada en Composer? [duplicar]

Oct 04 2020
php -v

da 7,4

which php

da 7,4

php test.php con el siguiente archivo de prueba:

<?php
echo phpversion();
?>

da 7,4

Pero cuando ejecuto el script de instalación / arranque para Craft CMS, está ejecutando el archivo Bootup.php con PHP 5.6.

¿Bajo qué circunstancias presumiblemente un script de bash predeterminado a una versión php antigua? Sospecho que esto podría ser una variable de entorno en Composer. ¿Y cómo consigo que se ejecute usando el deseado?

Disculpas si estoy haciendo la pregunta xy .

Respuestas

samerivertwice Oct 05 2020 at 02:06

Ok, entonces resulta que los archivos php en composer tienen el siguiente shebang:

#!/usr/bin/env php

Por alguna razón que no entiendo completamente, esto tiene el efecto de ignorar ALIAS y buscar el primer php en $ PATH en su lugar.

Entonces, la solución por la que opté fue encontrar el primer php en $ PATH, renombrarlo php2 y luego, usando ln -s, hice un enlace en esa carpeta llamado php y lo apunté a la versión binaria correcta de php, en mi casoln -s /opt/plesk/php/7.4/bin/php php

Composer y Craft ahora se están ejecutando con la versión de php deseada.