Installation Paypal Checkout Module - Composer Fehler Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.29

Im OXID Admin steht bei Systemgesundheit PHP Version 7.4 and 8.0 auf grün. Warum kommt dann nach der Eingabe folgender Befehle die unten stehende Meldung?

Befehle per SSH:
composer config repositories.oscpaypal composer https://paypal-module.packages.oxid-esales.com/
composer require OXID-solution-catalysts/paypal-module ^2.0.0
composer install
./vendor/bin/oe-console oe:module:install-configuration source/modules/osc/paypal
./vendor/bin/oe-console oe:module:apply-configuration

Meldung:
Composer Fehler Your Composer dependencies require a PHP version “>= 7.4.0”. You are running 7.3.29.

Weil die CLI eine eigene PHP Version haben kann. Dies kannst Du über die Konsole überprüfen, indem wenn per SSH verbunden bist

php -v

ausführst. Ggfs. musst Deine PHP Version für die CLI aktualisieren bei Deinen Hoster.

Tipp mittlerweile ist die 2.1.0 erschienen, Du könntest ^2.1 anstatt ^2.0.0 angeben. Neues Release von Freitag Version 2.1.0 Release v2.1.0 · OXID-eSales/paypal-module · GitHub

Ich habe das Problem auch gehabt, mit meinem Provider gesprochen und siehe da, in einigen relevanten Verzeichnissen kann noch eine ältere PHP Version eingetragen sein. so wars bei mir. Bei mir sieht es dann so aus damit es funktioniert:

/usr/local/php7.4/bin/php bin/composer.phar ...

das muss überall hin wo nur Composer steht.

1 Like

Nach Eingabe des folgenden Code hat es funktioniert:

mkdir ~/bin && cd ~/bin

ln -s /usr/local/php7.4/bin/php php

echo ‘PATH=$HOME/bin:$PATH’ >> ~/.bash_profile

source ~/.bash_profile

1 Like

Im Screenshot sieht man, dass zu Beginn die Composer Befehle nicht ausgeführt werden und composer anscheinend nicht Global auf dem Server bekannt ist.

Nun kamen folgenden Fehlermeldungen:

Liegt das ggf. daran das die Composer Dateien in einem Unterverzeichnis liegen?

PHP Composer Installation - Profihost Knowhow FAQ Fragenbereich

Kann das helfen?

In Deinen oberen Screenshot steht composer command not found dies heißt ist nicht Global konfiguriert als alias. Also alleine mit composer Befehl wirst nicht nutzen können.

Daher müsstest kompletten Pfad beim Aufruf mit angeben wo Composer installiert ist z.B.

bin/composer.phar könnte Composer liegen.

Ja, wenn den optionalen Teil abarbeitest, dann definierst Du composer Global und solltest auch mit composer ohne Pfad Angabe ausführen können.

Nicht php -v das macht die webversion bekannt sondern mit php -i bekommt man die php cli Version.

Alternativ die passende composer. Phar laden und dann mit dem Pfad zur passenden php Version aufrufen,-)