Comment obtenir / bin / bash pour exécuter la version php souhaitée dans Composer? [dupliquer]

Oct 04 2020
php -v

donne 7,4

which php

donne 7,4

php test.php avec le fichier de test suivant:

<?php
echo phpversion();
?>

donne 7,4

Mais lorsque j'exécute le script d'installation / de démarrage pour Craft CMS, il exécute le fichier Bootup.php avec PHP 5.6.

Dans quelles circonstances un script bash sera-t-il par défaut une ancienne version de PHP? Je soupçonne que cela pourrait être une variable d'environnement dans Composer. Et comment puis-je le faire fonctionner en utilisant celui souhaité?

Toutes mes excuses si je pose la question xy .

Réponses

samerivertwice Oct 05 2020 at 02:06

Ok, donc il s'avère que les fichiers php dans composer ont le shebang suivant:

#!/usr/bin/env php

Pour une raison que je ne comprends pas entièrement, cela a pour effet d'ignorer ALIAS et de rechercher le premier php dans $ PATH à la place.

Donc, la solution que j'ai choisie était de trouver le premier php dans $ PATH, de le renommer php2, puis en utilisant ln -sj'ai fait un lien dans ce dossier appelé php et l'ai pointé vers le binaire de version php correct, dans mon casln -s /opt/plesk/php/7.4/bin/php php

Composer et Craft fonctionnent maintenant avec la version php souhaitée.