Moori Foundation | Basis Version funktioniert mit Update auf 6.5.5.1 nicht mehr

Hallo zusammen

Ich habe heute auf SW 6.5.5.1 aktuallisiert. Während fast alle Erweiterungen anschliessend noch funktionierten, gelingt es mir nicht, Moori Foundation | Basis Version upzudaten. Auch eine Deinstallieren und anschliessendes Installieren gelingt nicht. Ich erhalte stehts die folgende Fehlermeldung:

Could not execute "composer require" for plugin "MoorlFoundation (moorl/foundation:1.5.14). Output: In JsonFile.php line 85: is_file(): open_basedir restriction in effect. File(/htdocs/var/cache/compo ser/config.json) is not within the allowed path(s): (/home/www/engelisn) require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>...] 

Weiss jemand wo es hier genau hakt?

Nabend Mercator,

ich hab gerade einmal Moori in der aktuellen Version und Shopware 6.5.5.1 installiert und hier gab es keine Probleme.

Die Meldung

sagt allerdings auch aus, dass auf DeinemServer noch die open_basedir Restricktion aktiv ist. Sprich dazu bitte einmal deinen Hoster an, damit er das prüft und ggf. anpasst oder am besten deaktiviert. Das sollte eigentlich die Ursache sein.

LG Benjamin

Hallo Benjamin

Herzlichen Dank für Deine Antwort. Ich habe mich nun bei meinem Hoster gemeldet und folgende Antwort erhalten:

Das scheint ein Fehler im Plugin zu sein weil
/htdocs/var/cache/compo ser/config.json
gibt es gar nicht


Der richtige Pfad wäre:
/home/www/engelisn/htdocs/var/cache

Und dann wäre es auch im open basedir von /home/www/engelisn
Da scheint das Modul den Pfad falsch zusammen zu setzen.

Hast Du eine Ahnung was ich mit diesen Angaben nun machen muss?

Warum lautet dein Requirement moorl/foundation? In welchem Repo gibt es das unter dem Namen?
Also beim Packagist schonmal nicht. Da hab ich nachgesehen.
Wenn du den Shopware-Store als Quelle angelegt hast (samt der passen auth.json für den store)
Dann wilsst du wahrscheinlich store.shopware.com/moorlfoundation anfordern.

Sorry da verstehe ich nun nur noch Bahnhof. Das einzige was ich gemacht habe: Ich hatte ursprünglich das Plugin im Store gesucht und dann auf Install geklickt. Mit der alten SW Version lief es tadellos. Gestern Version 5.5.5.1 installiert und es läuft nicht mehr.

Hallo zusammen,
Ich bin betreffend dem oben genannten Fehler echt komplett am verzweifeln. Ich habe mehrere kostenlose Plugins von Moori und bin deshalb leider nicht supportberechtigt. Mein Provider schreibt zudem folgendes:

/htdocs/var/cache/compo ser/config.json

Da fehlt /home/www/engelisn/htdocs/var/cache/

Also Ihr Home - und das wäre auch in der Open Basedir drin.

Kann mir da jemand genauer sagen, wo ich den Pfad anpassen muss?
Ich habe das Plugin schon 5 x deinstalliert und über den Shop neu versucht zu installieren. Jedoch erhalte ich sofort wieder den folgenden Fehler:

Could not execute "composer require" for plugin "MoorlFoundation (moorl/foundation:1.5.14). Output: In JsonFile.php line 85: is_file(): open_basedir restriction in effect. File(/htdocs/var/cache/compo ser/config.json) is not within the allowed path(s): (/home/www/engelisn) require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>...]

Die Banner auf der Frontseite werden mir zwar noch korrekt angezeigt, doch ich kann sie im Backend nicht mehr bearbeiten, weil es die Bilder übergross darstellt. :anguished:

Wäre echt froh um einen Tipp wo ich was anpassen muss.

Danke im Voraus!

Du siehst, dass da ein Leerzeichen im Wort composer ist?

Ja, aber ich bin zu doof herauszufinden wo dieser Pfad steht um diesen anzupassen.

Hallo, leider habe ich den Post übersehen. Der Fehler lässt sich so fixen:

Im Shopware-Verzeichnis die Datei „composer.json“ öffnen und folgenden Teil ergänzen:

{
    "repositories": [
        {
            "type": "path",
            "url": "custom/plugins/*",
            "options": {
                "symlink": true
            }
        }
    }
}

Nachtrag: Bei einem meiner Kunden war in diesem Beitrag der richtige Lösungsansatz:

Hi Moorleiche
Herzlichen Dank für Deine Hilfe!

Ich habe die Datei nun entsprechend angepasst. So sieht diese nun aus:


    "name": "moorl/foundation",
    "description": "Foundation",
    "version": "1.5.14",
    "license": "proprietary",
    "authors": [
        {
            "name": "moori"
        }
    ],
    "require": {
        "shopware/core": "^6.5.0",
        "deeplcom/deepl-php": "*"
    },
    "type": "shopware-platform-plugin",
    "autoload": {
        "psr-4": {
            "MoorlFoundation\\": "src/"
        }
    },
    "repositories": [
        {
            "type": "path",
            "url": "custom/plugins/*",
            "options": {
                "symlink": true
            }
        }
    ],
    "extra": {
        "shopware-plugin-class": "MoorlFoundation\\MoorlFoundation",
        "copyright": "(c) by moori",
        "label": {
            "de-DE": "Foundation",
            "en-GB": "Foundation"
        },
        "description": {
            "de-DE": "Das moori Basis Plugin",
            "en-GB": "The moori basic plugin"
        },
        "manufacturerLink": {
            "de-DE": "https://docs.moori.net/",
            "en-GB": "https://docs.moori.net/"
        },
        "supportLink": {
            "de-DE": "https://docs.moori.net/",
            "en-GB": "https://docs.moori.net/"
        }
    }
}

Leider war das nicht die Lösung, da er noch immer meckert. :anguished:

 Bad Request
Could not execute "composer require" for plugin "MoorlFoundation (moorl/foundation:1.5.14). Output: Cannot create cache directory /htdocs/var/cache/composer/cache/files/, or directory is not writable. Proceeding without cache. See also cache-read-only config if your filesystem is read-only. In JsonFile.php line 85: is_file(): open_basedir restriction in effect. File(/htdocs/var/cache/compo ser/config.json) is not within the allowed path(s): (/home/www/engelisn) require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] 

Was könnte da noch falsch konfiguriert sein?

Ups sorry, Du hast ja im Shopware-Verzeichnis geschrieben. Ich war im Plugin.

Wenn ich aber die entsprechende Datei öffne, habe ich dort schon einen Eintrag:

{
    "name": "shopware/production",
    "type": "project",
    "license": "MIT",
    "config": {
        "optimize-autoloader": true,
        "sort-packages": true,
        "allow-plugins": {
            "composer/package-versions-deprecated": true,
            "symfony/flex": true,
            "symfony/runtime": true
        }
    },
    "prefer-stable": true,
    "scripts": {
        "auto-scripts": {
            "assets:install": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "autoload": {
        "psr-4": {
            "Shopware\\Production\\": "src/"
        }
    },
    "repositories": [
        {
            "type": "path",
            "url": "custom/plugins/*/packages/*",
            "options": {
                "symlink": true
            }
        },
        {
            "type": "path",
            "url": "custom/static-plugins/*",
            "options": {
                "symlink": true
            }
        },
        {
            "type": "path",
            "url": "custom/plugins/*",
            "options": {
                "symlink": true
            }
        }
    ],
    "require": {
        "php": "^7.4.3 || ^8.0",
        "composer-runtime-api": "^2.0",
        "shopware/administration": "6.5.5.2",
        "shopware/core": "6.5.5.2",
        "shopware/elasticsearch": "6.5.5.2",
        "shopware/storefront": "6.5.5.2",
        "symfony/flex": "^2",
        "symfony/runtime": "^5.0|^6.0"
    },
    "require-dev": {
        "shopware/dev-tools": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": true,
            "endpoint": [
                "https://raw.githubusercontent.com/shopware/recipes/flex/main/index.json",
                "flex://defaults"
            ]
        }
    }
}

Da scheint die Änderung bereits drin zu stehen.

Hallo, wenn der Eintrag schon drin ist, dann ist es der zweite Lösungsvorschlag (Servereinstellung/Plesk). VG

Ok, ich muss zugeben, ich verstehe dort gerade mal soviel, dass das man die Openbase-Verzeichniseinstellungen auf none setzen müsse. Da ich keinen Zugriff auf Server-Einstellungen habe, teile ich meinem Provider einfach mal mit, dass er dies so ausführen soll. Reicht das oder muss ich ihm noch etwas anderes mitteilen?

Sorry für meine Unwissenheit. :face_with_diagonal_mouth:

Darf ich fragen bei welchem Hosting-Provider du bist?

ja klar, trendhosting.ch

Die meisten Hosting-Provider haben ein Webinterface, trendhosting kenne ich leider nicht. Wird dann sicher nur über den Support gehen.

Ja das ist so. Ich stehe schon seit einigen Tagen wegen diesem Problem mit dem Support in Verbindung. Der Supporter hat mir folgendes heute geschrieben:

/htdocs/var/cache/compo ser/config.json
Da fehlt /home/www/eneglisn/htdocs/var/cache/
Also Ihr Home - und das wäre auch in der Open Basedir drin.

Wir könnten das schon deaktivierne, ist nicht empfehlenswert - aber der Pfad wäre eh falsch.

Ich weiss halt nicht, was ich ihm genau mitteilen soll.

Habe nun den Support konntaktiert. Folgende Antwort habe ich erhalten:


*Bevor wir die open basedir deaktivieren (wäre die erste Instanz wo wir das müssten) *
was sagt der Entwickler zu dieser Fehlermeldung?

/htdocs/var/cache/composer/config.json) is not within the allowed path(s): (/home/www/engelisn) 

/htdocs/var/cache/composer/config.json ist ja NICHT das selbe Verzeichnis wie /home/www/engelisn/htdocs/var/cache/comsposer/config.json

das Zweite wäre richtig - und das /home/www/engelisn wäre ja auch im Openbasedir drin.
/htdocvs/var/cache/composer existiert auch nicht.

*Ich kann da gerne zum Versuchen Open Basedir deaktivieren - aber dann wird eine Fehlermeldung kommen dass das Verzeichnis nicht existiert - da wurde offensichtlich eine HOME Variabel nicht verwendet.


@Moorleiche Was soll ich nun dem Support mitteilen?

Schau doch mal ob in der .env oder .env.local die Variable richtig gesetzt ist:

Ansonsten Open Basedir deaktivieren und einfach mal testen.
VG

Jaaaaaaaaaaaaaaaaaaaaa, da steht z.B. in der .env.local
COMPOSER_HOME=„/htdocs/var/cache/composer“

nun geändert auf

/home/www/engelisn/htdocs/var/cache/comsposer

und es geht. :grinning: :grinning: :grinning: :grinning: :grinning:

vielen herzlichen Dank!!! Super endlich gehts wieder.
LG