Fehler PHP 7.4 - allow_url_fopen und fsockopen auf Port 80

Hallo zusammen,
dass hier ist jetzt wirklich meine letzte Hoffnung. Ich habe massive Probleme mit der Installation von der Version 6.2.x in diesem Fall 6.2.4. und der PHP-Version 7.4.9

Systeminformationen:
Hosting Partner: Profihost
Composer-Version: 2.1
Zend Engine: v3.4.0
ionCube: v10.4.1
Zend OPcahe: v7.4.9

Composerlink beziehe ich über folgenden Link:
https://docs.oxid-esales.com/eshop/de/6.2/installation/neu-installation/installation-vorbereiten.html

Dieser Befehl wird auf dem Server von Profihost mit Root-Rechten per Terminal (Linux) ausgeführt:

composer create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.2-pe

Hier wundert es mich schon, dass man jetzt scheinbar kein Passwort mehr eingeben muss, was man ja regelmäßig bei einem neuen Releas von Oxid erhält.

Nachdem das Verzeichnis auf dem Server erstellt wurde, rufe ich das Setup über die Domain auf. Jetzt sieht man ja die Übersicht der Voraussetzungen. Hier ist alles Grün, bis auf folgendes in der PHP-Konfiguration „allow_url_fopen und fsockopen auf Port 80“ dies ist Orange mit einem Ausrufezeichen.

Mein Provider versichert mir, dass diese Einstellung in der 7.4.php.ini aktiviert ist, dies habe ich auch nochmals überprüft und es ist tatsächlich aktiviert.

Woher kommt denn diese Fehlermeldung?

Beifolgenden PHP-Versionen taucht dieser Fehler nicht auf: 7.1, 7.2, 7.3

Auch in der neuen Version von OXID 6.3 in Kombination mit PHP 8.0 gibt es keinerlei Fehlermeldungen, hier sind aber leider die Module (Erweiterungen) noch nicht kompatibel.

Folgende Module werden genutzt:

Digidesk:

  1. Base
  2. Roxivemanager
  3. Evoslider
  4. Evomenu

Shopmodul24:

  1. SIT-Export-Manager
  2. SIT-Import-Manager

Oxid:

  1. PayPalPlus

Im Anhang habe ich noch ein paar Screenshots von den Felermeldungen.

Euch allen einen schönen Feiertag!




UPDATE: 13.05.2021 - 12:12
Folgende Fehlermeldung wird mir jetzt angezeigt:

Composer detected issues in your platform:

Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33.

PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33. in /home/naifhwpl/ v6-2-php-7-4-with-putty/vendor/composer/platform_check.php on line 24
Script if [ -f ./vendor/bin/oe-eshop-ide_helper ]; then oe-eshop-ide_helper; fi handling the oe:ide-helper:generate event returned with error code 255
Script @oe:ide-helper:generate was called via post-update-cmd

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Siehe Screenshot

Hallo :slight_smile:

composer mit der PHP-Version 7.4 ausführen Wie lauten die Pfade zu Perl, PHP und Python auf dem Server? - Profihost Knowhow FAQ Fragenbereich und PHP Composer Installation - Profihost Knowhow FAQ Fragenbereich

/usr/local/php7.4/bin/php ~/bin/composer.phar create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.2-pe

Viele Grüße,
Tim

1 Like

Hallo Tim,
vielen Dank für diesen Hinweis. Diesem bin ich direkt nach und konnte feststellen, dass in meiner “.profile” der Pfad zum Composer mit der PHP-Version 7.4 falsch angeben war. Nach der Korrektur in
" /usr/local/php7.4/bin/php ~/bin/composer.phar" und mit dem Befehl “source .profile” kann ich den Composer wieder problemlos über “composer” ausführen.

Ich habe gerade die Installation mit dem kompletten Befehl von dir ausgeführt, die Installation über den Composer wurde problemlos ausgeführt.

Das einzige was ich jetzt wieder angezeigt bekomme ist das orange Ausrufezeichen bei der PHP-Konfiguration “allow_url_fopen und fsockopen auf Port 80”

Im Anhang noch zwei Screenshots

Die php.ini für die Version habe ich überprüft, diese ist wie folgt aufgebaut:

extension_dir="/usr/local/php_extensions/php7.4"
zend_extension=“ioncube.so”
allow_url_fopen=“on”
allow_url_include=“off”
display_errors=“off”
display_startup_errors=“off”
file_uploads=“on”
html_errors=“on”
magic_quotes_gpc=“off”
max_execution_time=“600”
max_file_uploads=“20”
memory_limit=“512M”
post_max_size=“8M”
sendmail_from=""
sendmail_path="/usr/sbin/sendmail -t -i"
short_open_tag=“off”
SMTP=“localhost”
smtp_port=“25”
upload_max_filesize=“50M”

[date.so]
date.default_latitude=“52.5194”
date.default_longitude=“13.4067”
date.timezone=“Europe/Berlin”

[mysqli.so]
mysqli.allow_local_infile=“on”
mysqli.allow_persistent=“on”
mysqli.reconnect=“off”
mysqli.rollback_on_cached_plink=“off”

Wenn ich jetzt im Homeverzeichnis, die generierte 7.4.php.ini lösche wird der grüne Hacken bei “allow_url_fopen und fsockopen auf Port 80” aktiv und der Fehler scheint behoben. Ich werde jetzt die Modulinstallation fortsetzen und berichten.

Vorab schonmal Vielen Dank.

Viele Grüße
Michael


1 Like

UPDATE: 14.05.2021 - 11:00 Uhr

Nach der Hauptinstallation von Oxid PE v6.2.4 habe ich mit der Installation der Module begonnen.

Digidesk-Modul-Installation:

Bevor man die Module installieren und nutzen kann, muss man das DIGIDESK BASE Modul installieren.

Befehl:

/usr/local/php7.4/bin/php ~/bin/composer.phar config repositories.digidesk ‘{“type”:“path”, “url”: “./packages/digidesk/*”}’
/usr/local/php7.4/bin/php ~/bin/composer.phar require --update-no-dev digidesk/base

Digidesk Evoslider:

Befehl:

/usr/local/php7.4/bin/php ~/bin/composer.phar require --update-no-dev digidesk/evoslider

Digidesk Evomenu:

Befehl:

/usr/local/php7.4/bin/php ~/bin/composer.phar require --update-no-dev digidesk/evomenu

Digidesk Roxivemanager:

Befehl:

/usr/local/php7.4/bin/php ~/bin/composer.phar config repositories.digidesk ‘{“type”:“path”, “url”: “./packages/digidesk/*”}’
/usr/local/php7.4/bin/php ~/bin/composer.phar require digidesk/roxivemanager

Bei Digidesk Evomenu und Roxivemanager wird folgender Fehler ausgegeben:

Composer detected issues in your platform:

Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33.

PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33. in /home/naifhwpl/ onlineshop14-05-21/vendor/composer/platform_check.php on line 24
Script if [ -f ./vendor/bin/oe-eshop-ide_helper ]; then oe-eshop-ide_helper; fi handling the oe:ide-helper:generate event returned with error code 255
Script @oe:ide-helper:generate was called via post-update-cmd

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Der Onlineshop ist weiterhin erreichbar, ich habe auch immer das .tmp Verzeichnis bis auf .htaccess gelöscht. Wenn ich jetzt das Modul “Roxivemanager” aktiviere verschwindet “Evomenu” und umgekehrt. Auch die Views im Backend habe ich aktualisiert und alle Module deaktiviert und nach und nach wieder aktiviert.

Kommt dieser Fehler von Profihost oder Digidesk?

Könnte es auch sein, dass die ZIP-Datei von Digidesk beschädigt ist?

Leider habe ich keine weiteren Downloads, da ich dies jetzt auf unterschiedlichen Systeme gedownloadet habe und Digidesk dem Kunden nur 3 Downloads erlaubt! Auf Nachfrage, bekam ich nur die Antwort, dass ich die maximale Anzahl an Downloads erreicht habe. Eigentlich schon eine Frechheit! Wenn ich jetzt ein Ticket bei Digidesk aufmachen würde, bekomme ich das am Ende noch in Rechnung gestellt. Jetzt weiß ich nicht, wie ich weiter vorgehen könnte.

Im Anhang noch verschiedene Screenshots.




Vielen Dank.
Michael

Hallo Michael,

gerne doch.

Sind die DigiDesk Module nicht verschlüsselt?

Wenn ja benötigst Du neue Modulversionen für bestimmte PHP-Versionen.

Viele Grüße,
Tim

1 Like

Hallo Tim,

ja die Module von Digidesk sind verschlüsselt. Habe diese extra für die Version 6.2.x gekauft diese sind in der ZIP-Datei wie folgt aufgeteilt

  • PHP Version PHP 7.2 | PHP 7.3 | PHP 7.4

und ich benutze die Dateien für PHP 7.4

Mein Provider Profihost hat sich zwischenzeitlich gemeldet:

Hallo Herr Brxxxx,

der Unterschied zwischen den beiden Kundennummern ist, dass bei der Kundennummer 5xxxxx PHP 7.4.9 installiert ist, bei der Kundennummer 6xxxxx hingegen 7.4.16 (da es sich um einen Beta-Server handelt).

Bei meinen Tests klappt der Aufruf des Befehls composer bei beiden Kundennummern problemlos.

Somit haben wir die Ursache für den Fehler gefunden, es ist die PHP 7.4 Version.

Die neuste (7.4.16) wird vermutlich in der kommenden Woche auf allen Servern ausgerollt, dann sollte das Problem nicht mehr auftreten.

Sollte das wirklich diese Probleme erklären, ich kann mir das gar nicht vorstellen!

Dachte die neuste Version ist 7.4.9 und nicht 7.14.6

Kann mir das jemand erklären?

Vielen Dank und ein schönes Wochenende.

Hallo Michael,

PHP 7.4 ist laut Changelog die Version 7.4.19 die neuste Variante PHP: PHP 7 ChangeLog

Mittlerweile ist bereits PHP 8 erschienen.

Ich könnte mir vorstellen, dass Dein Problem ist das Du die OXID eShop Community Edition 6.2.4 nutzt, welche bereits für PHP 8 freigegeben.

Es könnte sein, dass Dein Abhängigkeitsbaum mit Deinen individuellen Modulen nicht mit der OXID eShop Community Edition 6.2.4 kompatibel, vielleicht hilft ein Downgrad auf 6.2.3.

Dir auch ein schönes Wochenende,
Tim

1 Like

Ich kann soviel dazu beitragen, dass 6.24 bei uns nicht unter php 8.0 läuft. Dafür müsste man, wie bei php 7 wieder nen Fix erstellen. 6.30 läuft unter php 8.0, allerdings gibt es hier aktuell noch Probleme mit dem ioncube Loader.

2 Likes

Hallo Tim,

dann muss ich scheinbar warten bis Profihost die Server aktualisiert hat. Schade, dass man so etwas nicht selbst entscheiden bzw installieren kann.

Ja das mit PHP 8.0 habe ich auch schon gelesen, nur funktionieren hier sehr viele Module nicht. Das bedeutet bei DigiDesk wieder ordentlich Geld ausgeben, sobald die Module für PHP 8 zur Verfügung stehen.

Es ist nicht die Community Edition. Siehe Screenshot.
Ich nutze die Professional Edition.

Viele Grüße
Michael

Hallo rubbercut,
danke für deinen Hinweis. Meiner Meinung nach, wird hier in letzter Zeit zu viele Relase veröffentlicht.Für die Sicherheit bzw. Sicherheislücken ist das ja in Ordnung.

Doch man kann nie zeitnah aktualisieren, da verschiedene Modul Entwickler Monate benötigen für die Anpassungen beispielweise auf die aktuelle PHP-Version.

Sobald ich nächste Woche neue Erkentnisse habe, werde ich diese hier im Forum mitteilen.

Hallo Michael :slight_smile:

wie meinst Du dies bzgl. der PHP Version oder der OXID eShop Version?

Dies einer von vielen Nachteilen bei verschlüsselten Modulen. Kann aber auch verstehen, warum man DigiDesk Module nutzt - da es nicht so viel Auswahlmöglichkeiten auf dem Markt gibt.

Entschuldige, dies bei mir Teils Automatismus da ich überwiegend mit Community Editions zu tun habe und das automatisch so ausschreibe :blush:

Viele Grüße,
Tim

1 Like

Hallo Tim,

wie meinst Du dies bzgl. der PHP Version oder der OXID eShop Version?

Wegen der PHP-Version bei Profihost, laut Kundenservice wird nächste Woche die PHP-Version 7.4.19 auf dem Server ausgerollt. Das ist der große Nachteil eines Cloudbasierten Server.

Ich bin ernsthaft am überlegen, ob Cloud-Hosting die richtige Wahl für mich ist.

Welchen Anbieter nutzt du denn?

Dies einer von vielen Nachteilen bei verschlüsselten Modulen. Kann aber auch verstehen, warum man DigiDesk Module nutzt - da es nicht so viel Auswahlmöglichkeiten auf dem Markt gibt.

Ja, die Auswahl auf dem Markt ist sehr begrenzt. Was mir hier gerade einfällt, es gibt ja aktuell keinen Anbieter, der ordentliche Sprachpakete für die OXID-Versionen anbietet, oder habe ich diesen noch nicht gefunden?

Hier habe ich schon einmal das Sprachpaket gekauft:
Shop Übersetzung Oxid 6

Leider erhält man hier keinen Support, da man eine meiner Meinung nach, unvollständige ZIP-Datei erhält, die man nicht verwenden kann. Auf E-Mails und Anrufe wird nicht reagiert. Ist dies ein offizieller OXID-Partner?

Entschuldige, dies bei mir Teils Automatismus da ich überwiegend mit Community Editions zu tun habe und das automatisch so ausschreibe

Das kenne ich nur zu gut. :wink:

Viele Grüße
Michael

Hallo Michael :slight_smile:

kommt immer auf das Webhosting Paket drauf an. Nutzt Du OXID für Agenturen und Online-Handel - Profihost AG ?

Unter Profihost kann man doch auch die PHP Version definieren, die man gerne möchte Änderung der PHP Version - Profihost Knowhow FAQ Fragenbereich

Für meine eigene Webseite nutze ich cyon.ch und plane bis zum 1. Juli 2021 auch endlich die Shop Funktion von OXID eShop für meine Modullösungen und Dienstleistungen zu nutzen. Aktuell nutze ich OXID eShop über mein Blogmodul als Blog. Mit cyon.ch bin ich sehr zufrieden, dort kann ich z.B. Domainabhängig über die GUI die PHP-Versionen festlegen. Für mich stimmt Preis-/Leistungsverhältnis von rund 10,- Euro pro Monat.

Es gibt das Projekt https://translate.oxidforge.org/ für Übersetzungspakete wo ich immer zuerst gucken würde.

Sprache ist auch was sehr individuelles, wenn man dies Professional angeht - dann lässt man dies für sein Sortiment übersetzen. Hängt z.B. davon ab ob man seine Kunden mit Du oder Sie ansprechen möchte und vieles mehr. Finde es schwierig zu vereinheitlichen.

Dies weiß ich nicht. Würde eher sagen Nein, wenn Anbieter nicht in Dieser Liste Listing der OXID Partner und Freelancer • OXIDforge erscheint.

Viele Grüße,
Tim

Ja, diese Paket nutze ich bei Profihost. Der Techniker meinte nur, dass der “neuere” Server eine BETA-Version ist und nur hier die PHP-Version 7.4.16 zur Verfügung steht. Der “ältere” Server kann diese Version noch nicht. Kann mir ja gar nicht vorstellen, dass ich der einizige Kunde bin, der dieses Problem aktuell hat.

Das habe ich schon versucht, leider ohne Erfolg. Danach ist der Onlineshop nicht mehr erreichbar, da der ionCUBE Loader nicht mehr zur Verfügung steht.

Bei Profihost funktioniert das mit der php.ini wie folgt:
Im Hauptverzeichnis liegt die php7.4.ini diese kann man nicht in php7.4.16 ändern.

Man kann hier nur diese PHP-Vorgaben für die Version machen php.7.4.ini hier wird dann die akutelle hinterlegte Version auf dem Server benutzt. In einem Fall eben die 7.4.9 und auf dem neueren BETA-Server die 7.4.16

Ich hoffe wirklich, dass Profihost Wort hält und in dieser Woche die aktuelle Version zur Verfügung stellen.

Das hört sich auch gut an, nur weiß ich nicht ob es vom Traffic so Sinnvoll ist, sich einen Server in der Schweiz zu bestellen. Habe jetzt bei Profihost nach einem Upgrade angefragt, da die Preise beider Pakete identisch sind.

Ok, da schaue ich mal nach.
Eine ordentliche Übersetzung zu finden ist nicht einfach, was ich aber festgestellt habe, dass viele Kunden einfach den Google Chrome benutzen und mit der Übersetzung der Texte scheinbar zurecht kommt. Bei eingebunden Grafiken sieht das natürlich wieder anders aus.

Vielen Dank für diesen wertvollen Hinweis!

Ich werde berichten, sobald sich etwas neues ergibt.

Viele Grüße
Michael

Das sind dann minimale Unterschiede, weil beides PHP Version 7.4 und die ionCube Loader PHP-Erweiterung könntest fragen ob die nachinstalliert werden kann.

Der Shop sollte auch problemlos mit 7.4.9 laufen.

Dein Problem wird ein anderes sein z.B. das die verschlüsselten Module für 7.3 gekauft und jetzt nicht für 7.4 nutzen kannst.

Oder das die CLI bei dir eine ältere PHP-Version.

Cyon ist optimal für mich als Softwareentwickler. Für den Betrieb eines OXID eShops die empfohlene Hoster Partner von OXID eSales stets die beste Wahl wenn man nicht über erweiterte, technische Kenntnisse verfügt.

Viele Grüße,
Tim

1 Like

Muss nicht sein. Unsere für 7.2 verschlüsselten Module laufen auch in 7.4. Wie beim Übergang von php5.6 auf 7.1 gibt es hier eine Bandbreite von Versionen, die kompatibel sind.

2 Likes

Es wurde definitiv die richtige OXID- und PHP-Version bei der Bestellung ausgewählt.

Im Anhang der Screenshot von der Bestellung bei Digidesk. Die Bestellnummer und die Domain habe ich unkenntlich gemacht.

Dazu kann ich nichts sagen, leider bin ich hier im Backend von Oxid nicht fündig geworden.
Ich habe jetzt im Internet recherchiert und folgende Information vom Server bekommen:

mit Befehl uname -r

Kernel-Version: 5.4.105+29-ph

mit php -v habe ich folgende Informationen erhalten:

PHP 7.2.33 (cli) (built: Aug 17 2020 12:11:55) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Siehe Screenshot.


Liegt hier der Fehler bzw. das Problem?

Viele Grüße
Michael

ja dort liegt das Problem.

Könntest Dich an die Profihost Anleitung für Shopware orientieren Wie nutze ich die Shopware 5 CLI Konsole? - Profihost Knowhow FAQ Fragenbereich

Aus

echo "alias shopware-cli='/usr/local/php7.3 /bin/php ~/www.ihredomain.de /bin/console'" >> ~/.profile && source ~/.profile

machst

echo "alias oxid-cli='/usr/local/php7.4 /bin/php ~/www.ihredomain.de/'" >> ~/.profile && source ~/.profile

und probierst dann Deine Composer Befehle über

oxid-cli composer ...

Vorab könnstest mit oxid-cli -v prüfen ob auch PHP 7.4 hinterlegt ist.

Viele Grüße,
Tim

1 Like

Hallo Tim,

Profihost hat heute morgen das Update auf dem Server eingespielt.

PHP-Version: 7.4.16** ist jetzt aktiv

Diese habe ich auch mit einer phpinfo geprüft, siehe Anhang.

Über das Terminal mit dem Befehl php -v bekomme ich jetzt folgende Meldung:

PHP 7.4.16 (cli) (built: Apr 29 2021 07:13:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Die CLI-PHP-Version ist 7.4.16

Nach dieser Überprüfung, habe ich den gesamten Server aufgeräumt.

Bei der Installation über den composer wurde ich diesmal auch nach Benutzername und Passwort gefragt. Das hängt im Hauptverzeichnis mit dem Ordner .cache zusammen. Hier speichert der Server alle Daten zwischen.

Die reine Installation funktionierte auch problemlos, bis ich an die Modul-Installation kam, der Fehler bleibt weiterhin bestehen und ich bekomme die Fehlermeldung:

Composer detected issues in your platform:

Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33.

PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 7.3.0”. You are running 7.2.33. in /home/naifhwpl/ onlineshop14-05-21/vendor/composer/platform_check.php on line 24

Danach habe ich im Hauptverzeichnis einen Ordner angelegt und in diesen auch die phpinfo Datei hochgeladen und per Domain aufgerufen, es wird mir tatsächlich die PHP-Version 7.2.33 ausgegeben.

Diese ist irgendwo global hinterlegt, nur weiß ich nicht wo.
Hier bin ich mit Profihost weiterhin in kontakt.

Das funktioniert gar nicht. Ist die OXID-CLI etwas besonderes oder einfach nur ein Verweis auf den Composer-Pfad?

Die Antwort von Profihost:

Die CLI-Version können Sie selbst in der .profile anpassen.

Fügen Sie einfach folgende Zeile hinzu (bspw. für PHP 7.4):

alias php="/usr/local/php7.4/bin/php"

anschließend müssen Sie den Befehl "source .profile" ausführen oder sich einmal an- und wieder abmelden.

Langsam weiß ich wirklich nicht mehr weiter, wenn bis heute Abend keine Lösung von Profihost da ist, sollen Sie den Cloud-Server löschen bzw. auf den neueren upgraden.

Viele Grüße
Michael



1 Like

Das Problem mit der PHP-Version 7.2.33 konnte ich beheben. Im Hauptverzeichnis existriert eine .htaccess dort war die ältere PHP-Version eingetragen. Diesen Eintrag habe ich hinzugefügt:

AddHandler php-fastcgi7.4 .php .phtml

Ab jetzt ist global die PHP-Version 7.4.16 aktiviert.

1 Like