Comment obtenir / bin / bash pour exécuter la version php souhaitée dans Composer? [dupliquer]
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
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.