Plesk Onyx, Composer und Oxid 6.1.5. Neuinstallation

Hallo zusammen. Ich möchte Oxid ce 6.1.5 neu installieren und bin - meiner Meinung nach - genau nach Anleitung vorgegangen:
Verzeichnis erstellt, composer installiert, oxid installier(en wollen)…

Irgendwas stimmt doch hier mit dem Composer nicht? Kann mir jemand sagen, was ich nun zu tun habe? Ist er nicht richtig installiert? Muss ich mich an den Hoster wenden? (PixelX)

Hallo :slight_smile:

das Problem scheint bei Plesk bekannt zu sein https://support.plesk.com/hc/en-us/articles/360010680474-Composer-error-Uncaught-PharException-phar-usr-lib-plesk-9-0-composer-phar-has-a-broken-signature

Hintergrund der Fehlermeldung scheint zu sein, dass Du Composer im vhosts für Deine Shop Instanz installiert hast.

Probiere den Lösungsvorschlag im obigen Link, indem Du Composer im Plesk Verzeichnis installierst. Anschließend kannst Du in Dein vhosts Verzeichnis für Deine Shop Instanz zurückkehren und dort mit composer create-project die Installation erneut probieren.

Viele Grüße,
Tim

Sorry habe auch ein Problem bei der Installation der V 6.2.0 CE. Kann mir hier jemand helfen?

VG Frank

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for oxid-esales/testing-library ^v7.1.0 -> satisfiable by oxid-esales/testing-library[v7.1.0].
- oxid-esales/testing-library v7.1.0 requires php ^7.0 -> your PHP version (5.6.40) does not satisfy that requirement.
Problem 2
- doctrine/cache 1.10.0 requires php ~7.1 -> your PHP version (5.6.40) does not satisfy that requirement.
- oxid-esales/oxideshop-metapackage-ce v6.2.0 requires doctrine/cache 1.10.0 -> satisfiable by doctrine/cache[1.10.0].
- Installation request for oxid-esales/oxideshop-metapackage-ce v6.2.0 -> satisfiable by oxid-esales/oxideshop-metapackage-ce[v6.2.0].

Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.

Auf der Konsole läuft PHP 5.6, schau mal wie man PHP 7 aufrufen kann. Und bitte kein Mehrfachposting.

Danke für die Info. Ich habe die PHP-Version gecheckt. Überall läuft PHP 7.3. PHP 7.1 und 7.2 sind auch installiert.

Bin gerade ratlos…

Mach mal auf der Konsole $ php -v und poste den Output hier :wink:

PHP 5.6.40-0+deb8u10 (cli) (built: Mar 26 2020 16:44:28)
Copyright © 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright © 1998-2016 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.1, Copyright © 2002-2018, by ionCube Ltd.
with Zend OPcache v7.0.6-dev, Copyright © 1999-2016, by Zend Technologies

Hier steht php 5. Wie kann ich das ändern?

Kann es daran liegen, dass eine andere Webseite auf dem Server noch einen Oxid 4 Shop hat und dieser auf PHP 5.6 läuft? Die neu zu installierende Seite läuft lt. Plesk auf 7.3.

gib mal “php” ein und anstatt der Eingabetaste dann paar mal Tab drücken, dann sollte er alle verfügbaren PHP Versionen zeigen.
Bei unserem Plesk gibts z.B. neben dem eifnachen “php” auch php7.1, php7.2 und php7.3 als Befehle für entsprechende PHP Versionen.

Da zeigt er nichts an und wenn ich jetzt # php -v eingebe bringt er Folgendes:

bash: /usr/bin/php: No such file or directory

Steht vielleicht im FAQ des Hosters irgendwas zu den php Versionen?

Nein, es ist ein Root Server.

Dann brauchst du die Person, die den Server eingerichtet hat

Das wird schwierig.

dann eine Person, die sich mit der Einrichtung und Konfiguration von Servern auskennt.

1 Like

Ich hoffte hier Hilfe zu finden, aber vielleicht hat ja niemand hier einen solchen Server. :frowning:

doch natürlich, aber wir haben keine Glaskugeln, um zu sehen, wie der Server ursprünglich eingerichtet wurde und wo bzw ob überhaupt andere PHP Versionen installiert sind.

Die Situation hier ist etwa so:
Du rufst beim ADAC an: mein Auto startet nicht
ADAC: versuchen Sie einen anderen Schlüssel
Du: Es gibt keinen anderen Schlüssel und jetzt habe ich auch den ersten verloren.
ADAC: Fragen Sie beim offiziellen Händler des Hersteller nach
Du: Es gibt keine Hersteller, das Auto wurde aus diversen Einzelteilen für mich persönlich zusammengebaut
ADAC: dann fragen Sie die Person, die es zusammengebaut hat
Du: das wird schwierig.
ADAC: Dann müssen Sie in eine Autowerkstatt
Du: Ich hoffte hier Hilfe zu finden…

So wie ADAC keinen Motoschaden über Telefon reparieren kann, so können auch die ITler unter uns nicht ohne Zugang zum Server irgendwie erraten, warum es nicht funktioniert.

Im Klartext: um das Problem zu beheben, muss man erst den Zusatand des Server analysieren und prüfen, warum PHP nicht mehr funktioniert. Es könnte an einer einfachen Plesk Einstellung liegen, dass PHP Version nicht umgeschaltet werden dürfen, oder es kann auch an der Konfiguration des Servers liegen, die man nur mit root Zugriff zum Server ändern kann. Und um das herauszufinden, braucht man den direkten Zugriff auf den Server.

Ja, das ist doch alles klar, war auch nicht böse gemeint. Ich bin dankbar für jede Hilfe. Das Problem ist, dass das cli PHP , wie das 5.6.40, welches bei mir installiert war, damals für Plesk benötigt wurde. Jetzt für Obsidian ist kein cli PHP mehr notwendig und wird deshalb auch nicht mehr über Plesk upgedatet. Ich hatte es zwischenzeitlich auch mal gelöscht und wieder über Plesk installiert. Es nun 4 PHP`s (7.1-7.4) installiert, allerdings nicht auf cli-Ebene. Wenn ich dort das PHP 5 lösche bekomme ich eine Fehlermeldung, dass ein Serviceplan mit einem unregistrierten PHP handler gefunden wurde (1 service plans with unregistered PHP handlers were found.)
Nun wollte ich PHP 7.4 als cli-Version installieren, nachdem ich die alte Version gelöscht habe und dann mit Code:
touch ~/.bashrc
echo “export PATH=/opt/plesk/php/7.4/bin:$PATH;” > ~/.bashrc
auf den neuen Pfad zeigen.
Ist das vielleicht der Weg?

VG Frank

PS: root und su-Rechte habe ich

Wenn du weisst wo die Binary liegt kannst du sie auch einfach mit dem vollen Pfad aufrufen.