¿Cómo hago para que / bin / bash ejecute la versión de php deseada en Composer? [duplicar]
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
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.