Symfony Projekt deployen

  • Guten Abend,


    ich habe Probleme mit dem Deployment meiner Symfony-Application. Ich nutze Webhosting 2000.


    Ich habe lokal mit Hilfe von xamp eine kleine funcktionierende Symfony-Anwendung (5.4) erstellt.


    Ich habe ganz stumpf meine Anwendung mit Ausnahme der var und vendor Ordner in das httpdocs-Verzeichnis einer meiner drei Domains geschoben und gehofft, dass ich die Dependencies per SSH dann nach installieren kann.


    Ich habe zwar ssh-Zugriff, aber ich kann nichts installieren. Leider kann ich auch kein Symfony-Skeleton direkt auf dem Server installieren, um mir die Projektstruktur dann mal anzugucken.


    Ich kann leider gar kein Feedback feststellen. Ich bin neu in dem Spiel und stehe grade wie der Ochse vorm Berg. Mit meiner Recherche im Internet bin ich nicht weit gekommen.


    Der Aufruf der Domain sagt lediglich:

    Server Error

    403

    Forbidden

    You do not have permission to access this document.



    Hat jemand Erfahrung mit Symfony und kann mir einen (groben) Leitfaden nennen, wie ich meine Symfony-Application deployen kann? Das würde mir sehr helfen!


    Vielen Dank und viele Grüße


    Ywo

  • Ich kenne Symfony nicht, aber ein 403 wird wird dir ausgegeben, wenn du keine Berechtigung hast auf den Inhalt der aufgerufenen URL zuzugreifen.

    Dokumentenstamm richtig konfiguriert?

    .htaccess noch irgendwo rumliegen?
    Leserechte eingeschärnkt?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    3 Mal editiert, zuletzt von Bud ()

  • Also typischerweise ist die document root (=Dokumentenstamm) auf den Ordner "public" oder bei älteren Versionen auch "web" einzustellen. Dann, wichtig, open_basedir auf die Variante mit WEBSPACEROOT einstellen, also nicht der Default mit DOCROOT. Dann kannst du dir in der Shell composer lokal installieren oder auf die Schnelle auch einfach eine aktuelle composer.phar runterladen, in composer.phar.php umbenennen und in das Installationsverzeichnis kopieren. Dann kannst du dort composer mit "php composer.phar.php update" aufrufen (oder welchen Befehl du auch immer brauchst).

  • Hallo tab,


    vielen Dank für deine Tipps, das hat mir sehr weitergeholfen.
    Mit "php composer.phar.php update" konnte ich nun die dependencies nachinstallieren.

    Allerdings erhalte ich nun diese Fehlermeldung:


    Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0".

    Hast du damit bereits Erfahrungen gemacht?

    Das Symfony-Projekt hat die Version 5.4.16.

    In der composer.json habe ich

    Code
    "require": {
        "php": ">=8.1",
        
        etc.

    angegeben und anschließend per ssh "php composer.phar.php update" ausgeführt.

    Wenn ich auf dem Server php -v ausgebe erhalte ich diese Information

    PHP 8.1.13 (cli) (built: Nov 29 2022 09:33:58) (NTS)

    Copyright (c) The PHP Group

    Zend Engine v4.1.13, Copyright (c) Zend Technologies

    with Zend OPcache v8.1.13, Copyright (c), by Zend Technologies


    Die Informationen die ich im Internet gefunden habe waren i.d.R. laravel-spezifisch und haben bei mir leider keine Veränderung erzeugt.

    Hast du eine Ahnung, was ich tun kann?

    Bud, auch dir vielen Dank für deine Hilfe!

    Viele Grüße

    Ywo

  • aus dem bauch raus: schaust ins WCP in deine entsprechende (sub)domain in die php-settings.

    dort sollte ebenfalls die passende php-version eingestellt werden (weil php-cli und php-web sind getrennt einstellbar).

    »Hauptsache BogoMIPS!«

    Fleischfresser

    2 Mal editiert, zuletzt von Olivetti ()

  • Hi Olivetti,

    vielen Dank, das hat mir sehr geholfen :)


    Unter den Hosting-Einstellungen war tatsächlich noch die PHP-Unterstützung 7.4 angegeben. Das Einstellen auf 8.1 hat geholfen. Die Symfony Startseite wird mir jetzt angezeigt.


    Vielen Dank und einen schönen Abend!

    Ywo

  • Mehr hat composer nicht an Erklärung ausgegeben? Dass deine Abhängigkeiten das brauchen steht ja explizit in der composer.json drin, PHP in Version >=8.1 IST ja eine Abhängigkeit. deswegen wird das wohl auch ausgegeben. Aber normalerweise installiert er entweder oder spuckt irgendwelche für den Laien schwer interpretierbare Erklärungen aus, warum er die Abhängigkeiten in den geforderten Versionen nicht installieren kann. Gibt da glaube ich irgendeine Option (eventuell --verbose), mit der er dann etwas gesprächiger ist. Vielleicht verlangt ja irgendeine deiner Abhängigkeiten eine niedrigere PHP-Version als 8.1. Das ist durchaus relativ wahrscheinlich.

  • @tab


    es war keine typische Symfony-Fehlermeldung (roter Hintergrund etc.), sondern vermutlich eine von netcup selbst - bin mir nicht sicher. Tatsächlich stand da einfach nur der oben geschriebene Satz :D


    Die Lösung des ganzen lag dann darin, dass ich im WCP die PHP-Unterstützung 7.4 auf 8.1 verändern musste.


    Aber -verbose, bzw. -v werde ich noch ausprobieren, das interessiert mich jetzt auch.


    Danke dir :)

    @lulatsch66 vielen Dank :)