Contao-Camp 2024
Ergebnis 1 bis 36 von 36

Thema: Contao pure über CLI einrichten

  1. #1
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Multimedia Contao pure über CLI einrichten

    Moin,

    ich habe die Möglichkeit über SSH Installationen durchzuführen.

    Ich konnte für Contao jedoch weder mit dem Manager noch mit der Console eine Möglichkeit finden es pur über CLI einzurichten. Es muss immer über den Browser gemacht werden.

    Biete Contao etwas wie wp-cli an? Wo man direkt Variablen usw. übergeben kann um eine Installation von 1-100 rein per SSH durchzuführen?

    Über eine Rückmeldung würde ich mich sehr freuen.

  2. #2
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.328
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schau doch mal in die Dokumentation, ob das geboten wird, was Du suchst:
    https://docs.contao.org/manual/en/in...e-command-line

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Der Englische Artikel ist leider noch Machine-Translated und enthält ein paar Fehler - würde eher die Deutsche Version nehmen: https://docs.contao.org/manual/de/in...-kommandozeile
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von lucina Beitrag anzeigen
    Schau doch mal in die Dokumentation, ob das geboten wird, was Du suchst:
    https://docs.contao.org/manual/en/in...e-command-line
    Wird es leider nicht. Wie gesagt. Es fehlen mir sämtliche Befehle. für db user, dbconnect, port, create admin usw. Zum Vergleich. Bei Wordpress sieht es so aus. Das zieht sich durch alles. Ich kann das gesamte CMS rein per SSH installieren und muss nicht einmal den Browser öffnen um eine Datenbank einzurichten, nen User oder oder oder.

    Code:
    wp core download --locale=de_DE
    wp core install --url=example.com --title=Example --admin_user=supervisor --admin_email=info@example.com --prompt=admin_password < admin_password.txt
    Success: WordPress installed successfully
    Ich möchte also das https://docs.contao.org/manual/de/in...o-installtool/ auf SSH-Ebene. Der Dokumentation nach geht nur der Download, aber dann wird auf diesen Web-Installer verwiesen.
    Geändert von Anagastes (25.02.2021 um 14:24 Uhr)

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Diese Form der Installation ist derzeit nicht möglich. Du kannst mit composer create-project Contao installieren, danach eine leere .env Datei anlegen und dann zusätzlich eine .env.local Datei, wo du deine Datenbankverbindung über die Umgebungsvariable DATABASE_URL einträgst und dann ein vendor/bin/contao-console contao:migrate --no-interaction ausführen. Mit vendor/bin/contao-console contao:user:create kannst du ab Contao 4.11 dann auch direkt über die Konsole einen Backend User anlegen.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Diese Form der Installation ist derzeit nicht möglich. Du kannst mit composer create-project Contao installieren, danach eine leere .env Datei anlegen und dann zusätzlich eine .env.local Datei, wo du deine Datenbankverbindung über die Umgebungsvariable DATABASE_URL einträgst und dann ein vendor/bin/contao-console contao:migrate --no-interaction ausführen.
    Ah, klasse. Wenn ich damit den Web-Installer umgehe ist das schonmal ein Anfang.

    Gibt es eine Dokumentation zu dieser ENV und wie die aufgebaut sein muss bzgl Syntax usw?

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Anagastes Beitrag anzeigen
    Gibt es eine Dokumentation zu dieser ENV und wie die aufgebaut sein muss bzgl Syntax usw?
    Die Umgebungsvariablen, die Contao benutzt, sind aktuell in der Entwickler-Dokumentation festgehalten: https://docs.contao.org/dev/referenc...anaged-edition
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Anagastes Beitrag anzeigen
    Ah, klasse. Wenn ich damit den Web-Installer umgehe ist das schonmal ein Anfang.
    Mit Contao 4.9 kannst du das Contao Install Tool leider noch nicht komplett umgehen, weil du damit noch den Backend Benutzer anlegen musst. Das geht über die Konsole erst ab Contao 4.11. Wobei du dir natürlich auch ein anderweitiges Script schreiben kannst, dass dir den Eintrag in der tl_user Tabelle macht.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Ich danke dir für die Info. Ich werde mich damit mal auseinandersetzen und gegebenenfalls euch nochmal nerven.

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Doch, das geht, ab Contao 4.10 meine ich sollte das alles per Kommadozeile gehen. (das meiste auch schon mit Contao 4.9)
    Dazu sind mehrere Aufrufe nötig und die eine oder ander Konfigdatei die vorher per Hand angelegt werden muss, zum Beispiel eine .env Datei mit den DB Daten.

    Ein Komplettes Kochbuch dazu gibt es noch nicht, dazu muss man sich einiges zusammensuchen.

    Die Mühe hat sich Kisten schon mal gemacht und das ganze über Ansible voll automatisiert, das ist was für Admins :-)
    https://kirsten-roschanski.de/einzel...rwalten-teil-2
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Doch, das geht, ab Contao 4.10 meine ich sollte das alles per Kommadozeile gehen. (das meiste auch schon mit Contao 4.9)
    Dazu sind mehrere Aufrufe nötig und die eine oder ander Konfigdatei die vorher per Hand angelegt werden muss, zum Beispiel eine .env Datei mit den DB Daten.

    Ein Komplettes Kochbuch dazu gibt es noch nicht, dazu muss man sich einiges zusammensuchen.

    Die Mühe hat sich Kisten schon mal gemacht und das ganze über Ansible voll automatisiert, da sist was für Admins :-)
    https://kirsten-roschanski.de/einzel...rwalten-teil-2
    Genau darum geht es schlussendlich bei mir. Contao-Install voll automatisieren

  12. #12
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Doch, das geht, ab Contao 4.10 meine ich sollte das alles per Kommadozeile gehen. (das meiste auch schon mit Contao 4.9)
    Dazu sind mehrere Aufrufe nötig und die eine oder ander Konfigdatei die vorher per Hand angelegt werden muss, zum Beispiel eine .env Datei mit den DB Daten.

    Ein Komplettes Kochbuch dazu gibt es noch nicht, dazu muss man sich einiges zusammensuchen.

    Die Mühe hat sich Kisten schon mal gemacht und das ganze über Ansible voll automatisiert, das ist was für Admins :-)
    https://kirsten-roschanski.de/einzel...rwalten-teil-2
    Um ein Verständnis für die Funktionsweise von Contai 4.11 zu entwicklen, habe ich nun versucht die Installation manuell auf shell-Ebene durchzuführen. Folgende Schritt habe ich gemacht und waren erfolgreich.

    /usr/bin/php7.4 ./composer/composer.phar create-project contao/managed-edition contao411 4.11
    mkdir -p /home/www/contao/contao411/system/config && mkdir -p /home/www/contao/contao411/config
    nano /home/www/contao/contao411/system/config/localconfig.php

    Dort kam dann das rein.

    Code:
    <?php
    ### INSTALL SCRIPT START ###
    $GLOBALS['TL_CONFIG']['licenseAccepted'] = true;
    $GLOBALS['TL_CONFIG']['installPassword'] = 'User-PW';
    $GLOBALS['TL_CONFIG']['websiteTitle'] = 'Title';
    $GLOBALS['TL_CONFIG']['adminEmail'] = 'Email';
    $GLOBALS['TL_CONFIG']['minifyMarkup'] = true;
    $GLOBALS['TL_CONFIG']['gzipScripts'] = true;
    $GLOBALS['TL_CONFIG']['maxFileSize'] = 20480000;
    $GLOBALS['TL_CONFIG']['imageWidth'] = 3000;
    $GLOBALS['TL_CONFIG']['imageHeight'] = 3000;
    ### INSTALL SCRIPT STOP ###
    nano /home/www/contao/contao411/config/parameters.yml

    Dort dann jenes

    Code:
    parameters:
      database_host: "localhost"
      database_port: "3306"
      database_user: DB-USER
      database_password: 'DB-PASSWORD'
      database_name: DB-NAME
    Anschliesend den Install und Migrate

    Code:
    /usr/bin/php7.4 ../composer/composer.phar install
    /usr/bin/php7.4 ./contao411/vendor/bin/contao-console contao:migrate
    Danach ist Contao im Frontend mit 404 vorhanden, aber das Backend ansprechbar.

    Sobald ich aber folgendes versuche, bekomme ich einen Syntax-Error.

    Code:
    /usr/bin/php7.4 -d memory_limit=256M ./vendor/bin/contao-console contao:user:create --username=USER --name='VORNAME NAME' --email='E-Mail' --password='LOGIN-PW' --language=de
    Wo ist mein Denkfehler bzw. wo habe ich einen Install-Fehler gemacht? Folgend der Syntax-Fehler. Es wird MySQL 8 eingesetzt

    Code:
    In AbstractMySQLDriver.php line 98:
                                                                                                                                                                                                                                                
      An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params
    Geändert von Anagastes (25.02.2021 um 19:25 Uhr)

  13. #13
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Ahoi,
    Zitat Zitat von Anagastes Beitrag anzeigen
    Genau darum geht es schlussendlich bei mir. Contao-Install voll automatisieren
    darf ich (aus purer Neugierde) fragen was Dein Ziel ist?
    Grüße, Stefko

  14. #14
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Ahoi,

    darf ich (aus purer Neugierde) fragen was Dein Ziel ist?
    Simpel gesagt, über einen Wrapper Variablen wie Benutzer, Passwort usw abfragen. Damit dann Contao im Hintergrund installieren.

    Da ich mit Contao so 0 Erfahrung habe muss ich das ganze erstmal selber durchspielen.

    Übertragen ist es ein kleiner Web-Installer der automatisch Datenbank anlegt und die Daten vom User benutzt um Contao zu installieren.

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Anagastes Beitrag anzeigen
    /usr/bin/php7.4 ./composer/composer.phar create-project contao/managed-edition contao411 4.11
    mkdir -p /home/www/contao/contao411/system/config && mkdir -p /home/www/contao/contao411/config
    nano /home/www/contao/contao411/system/config/localconfig.php

    Dort kam dann das rein.

    Code:
    <?php
    ### INSTALL SCRIPT START ###
    $GLOBALS['TL_CONFIG']['licenseAccepted'] = true;
    $GLOBALS['TL_CONFIG']['installPassword'] = 'User-PW';
    $GLOBALS['TL_CONFIG']['websiteTitle'] = 'Title';
    $GLOBALS['TL_CONFIG']['adminEmail'] = 'Email';
    $GLOBALS['TL_CONFIG']['minifyMarkup'] = true;
    $GLOBALS['TL_CONFIG']['gzipScripts'] = true;
    $GLOBALS['TL_CONFIG']['maxFileSize'] = 20480000;
    $GLOBALS['TL_CONFIG']['imageWidth'] = 3000;
    $GLOBALS['TL_CONFIG']['imageHeight'] = 3000;
    ### INSTALL SCRIPT STOP ###
    Ich würde empfehlen die localconfig wenn dann über die config/config.yml zu setzen. die system/config/localconfig.php ist grundsätzlich deprecated. Siehe auch https://docs.contao.org/manual/de/sy...n/#localconfig




    Zitat Zitat von Anagastes Beitrag anzeigen
    Sobald ich aber folgendes versuche, bekomme ich einen Syntax-Error.

    Code:
    /usr/bin/php7.4 -d memory_limit=256M ./vendor/bin/contao-console contao:user:create --username=USER --name='VORNAME NAME' --email='E-Mail' --password='LOGIN-PW' --language=de
    Wo ist mein Denkfehler bzw. wo habe ich einen Install-Fehler gemacht? Folgend der Syntax-Fehler. Es wird MySQL 8 eingesetzt

    Code:
    In AbstractMySQLDriver.php line 98:
                                                                                                                                                                                                                                                
      An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params
    Da fehlt die eigentliche Fehlermeldung. Ist das die gesamte Ausgabe?
    » sponsor me via GitHub or PayPal or Revolut

  16. #16
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich würde empfehlen die localconfig wenn dann über die config/config.yml zu setzen. die system/config/localconfig.php ist grundsätzlich deprecated. Siehe auch https://docs.contao.org/manual/de/sy...n/#localconfig




    Da fehlt die eigentliche Fehlermeldung. Ist das die gesamte Ausgabe?
    Bzgl. der Conf schaue ich nochmal. Da bin ich auch durcheinander geraten und habe mich gewundert warum php mit yml gemixt wird. Folgend die komplette Meldung.

    Code:
    ~/www/contao/contao411 # /usr/bin/php7.4 ./vendor/bin/contao-console contao:user:create --username XXX --name XXX --email XXX --password XXX --language de --admin
    19:04:45 CRITICAL  [console] Error thrown while running command "contao:user:create --username XXX --name XXX --email 'XXX' --password XXX --language de --admin". Message: "An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:
    
    SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1" ["exception" => Doctrine\DBAL\Exception\SyntaxErrorException^ { …},"command" => "contao:user:create --username XXX --name XXX --email 'XXX' --password XXX --language de --admin","message" => """  An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:\n  \n  SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1  """]
    
    In AbstractMySQLDriver.php line 98:
                                                                                                                                                                                                                                                
      An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:                                                        
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1                                                                                                                                                                                        
                                                                                                                                                                                                                                                
    
    In Exception.php line 18:
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1                                                                                                                                                                                        
                                                                                                                                                                                                                                                
    
    In PDOStatement.php line 115:
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1

  17. #17
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    $GLOBALS['TL_CONFIG']['gzipScripts'] = true;
    Wenn auf dem Server mod_deflate verfügbar ist (wovon eigentlich i. d. R. auszugehen ist), würde ich das nicht machen. Jedenfalls müsstest Du auch die .htaccess entsprechend anpassen, sonst bringt das sowieso nichts.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Anagastes Beitrag anzeigen
    Folgend die komplette Meldung.

    Code:
    SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1
    Hmm, interessant. Aus irgendeinem Grund wird "groups" nicht automatisch von Doctrine gequoted. Evt. konnte Doctrine nicht die MySQL Server Version selbst ermitteln? Hast du diesbezüglich in der config/config.yml irgendwas selbst festgelegt?
    » sponsor me via GitHub or PayPal or Revolut

  19. #19
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hmm, interessant. Aus irgendeinem Grund wird "groups" nicht automatisch von Doctrine gequoted. Evt. konnte Doctrine nicht die MySQL Server Version selbst ermitteln? Hast du diesbezüglich in der config/config.yml irgendwas selbst festgelegt?
    Dort habe ich keine config.yml, sondern nur die parameter.yml

    Code:
    user@dev ~/www/contao/contao411/config # ls -halFs 
    total 12K
    4.0K drwxr-xr-x  2 user user 4.0K Feb 25 19:05 ./
    4.0K drwxr-xr-x 10 user user 4.0K Feb 25 18:28 ../
    4.0K -rw-r--r--  1 user user  153 Feb 25 18:52 parameters.yml

  20. #20
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hmm, interessant. Aus irgendeinem Grund wird "groups" nicht automatisch von Doctrine gequoted. Evt. konnte Doctrine nicht die MySQL Server Version selbst ermitteln? Hast du diesbezüglich in der config/config.yml irgendwas selbst festgelegt?
    Ich habe nun alle Schritte (mit überarbeiteter config.yml anstelle der localconfig.php) nochmals durchgeführt. Gleicher Fehler.

    Und aus einer reinen Intuition heraus auf einem System mit MySQL 5.7, da hatte ich den Heureka-Moment. Es funktionierte ohne Probleme.

    Bei dem MySQL 8 - System ist folgende Version installiert.

    Code:
    MySQL [(none)]> select version();
    +-----------+
    | version() |
    +-----------+
    | 8.0.18    |
    +-----------+
    Sind euch da irgendwelche Probleme mit Contao 4.11 bekannt? Bzw. wie bringe ich contao manuell bei, wie er mit mysql zu sprechen hat?
    Geändert von Anagastes (25.02.2021 um 23:17 Uhr)

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Theoretisch sollte dieser Fehler jedenfalls nicht auftreten. Aktuell habe ich leider keine Umgebung mit MySQL 8 zur Verfügung, um das Kommando selbst zu testen.

    Die Server Version wird von Doctrine automatisch ermittelt, kann aber über doctrine.dbal.server_version selbst festgelegt werden: https://symfony.com/doc/current/refe...-configuration
    Ob das hilft kann ich jedoch nicht sagen.
    » sponsor me via GitHub or PayPal or Revolut

  22. #22
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Theoretisch sollte dieser Fehler jedenfalls nicht auftreten. Aktuell habe ich leider keine Umgebung mit MySQL 8 zur Verfügung, um das Kommando selbst zu testen.

    Die Server Version wird von Doctrine automatisch ermittelt, kann aber über doctrine.dbal.server_version selbst festgelegt werden: https://symfony.com/doc/current/refe...-configuration
    Ob das hilft kann ich jedoch nicht sagen.
    Ich habe e snun wie folgt versucht in der Hoffnung die URL überschreibt etwaige Fehler in der Erkennung. Der Fehler bleibt jedoch bestehen :S

    Code:
    cat config/config.yml 
    contao:
        localconfig:
            adminEmail: test@test.de
            licenseAccepted: true
            installPassword: 'INSTALL-PW'
            websiteTitle: 'TITLE'
            minifyMarkup: true
            maxFileSize: 20480000
            imageWidth: 3000
            imageHeight: 3000
    
    doctrine:
         dbal:
            url: mysql://dbuser:XXX@localhost:3306/dbname
            server_version:       '8.0.18'

  23. #23
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Also ich mache das über die .env Datei, hier mal meine zwei Varianten, vielleicht kannste dir davon was abschauen

    Code:
    # Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
    # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
    # If you are running a MariaDB database, you should prefix the serverVersion with mariadb- (ex: mariadb-10.2.12).
    
    # MySQL 5.7
    DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
    
    #MariaDB 10.3.25
    DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=mariadb-10.3.25"
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  24. #24
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Und deine YML Datei ist auch ohne TABs aufgebaut? TABs mag yaml gar nicht. Nur Leerzeichen zur Einrückung.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  25. #25
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, ich mag YAML auch nicht! SCNR

  26. #26
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Also ich mache das über die .env Datei, hier mal meine zwei Varianten, vielleicht kannste dir davon was abschauen

    Code:
    # Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
    # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
    # If you are running a MariaDB database, you should prefix the serverVersion with mariadb- (ex: mariadb-10.2.12).
    
    # MySQL 5.7
    DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
    
    #MariaDB 10.3.25
    DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=mariadb-10.3.25"
    Nunja, auf MySQL 5.7/MariaDB10.x funktioniert es einwandfrei.

    Die letzte Hürde ist der Syntax-Fehler bei MySQL 8.

    Die YAML ist korrekt, habe nun mal eine .env gemacht und nun sind die Parameter gar nicht mehr vorhanden. Also er findet sie nicht. Ich habe das mit der .env auch nocht niocht begriffen um ehrlich zu sein.

    Code:
    ~/www/contao/contao411 # ls -halFs config/
    total 16K
    4.0K drwxr-xr-x  2 user user 4.0K Feb 26 22:43 ./
    4.0K drwxr-xr-x 10 user user 4.0K Feb 25 22:08 ../
    4.0K -rw-r--r--  1 user user   94 Feb 26 22:43 .env
    4.0K -rw-r--r--  1 user user  268 Feb 26 22:42 config.yml
    Ich vermute dass ich die .env falsch angelegt habe. Aber ich befürchte selbst wenn die parameter daraus nun korrekt geladen werden, ändert es nichts an den Syntax-Fehler bei MySQL8... :S

  27. #27
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    die .env muss in das Installationsverzeichnis, nicht in /config
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  28. #28
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    die .env muss in das Installationsverzeichnis, nicht in /config
    Danke für den Hinweis. ^^ nun haben wir den Syntax-Fehler wieder.

    Code:
    ~/www/contao/contao411 # /usr/bin/php7.4 ./vendor/bin/contao-console contao:user:create --username XXX --name XXX --email XXX --password XXX --language de --admin
    19:04:45 CRITICAL  [console] Error thrown while running command "contao:user:create --username XXX --name XXX --email 'XXX' --password XXX --language de --admin". Message: "An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:
    
    SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1" ["exception" => Doctrine\DBAL\Exception\SyntaxErrorException^ { …},"command" => "contao:user:create --username XXX --name XXX --email 'XXX' --password XXX --language de --admin","message" => """  An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:\n  \n  SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1  """]
    
    In AbstractMySQLDriver.php line 98:
                                                                                                                                                                                                                                                
      An exception occurred while executing 'INSERT INTO tl_user (tstamp, name, email, username, password, language, backendTheme, admin, pwChange, dateAdded, groups) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [1614276285, "XXX", "XXX", "XXX", "$argon2id$v=19$m=65536,t=4,p=1$w6UmAHZySJgjG91pni6xzQ$CzZftpI9AcqlC07HCXh2oXBHK8nyaK9lgc26uun3L+k", "de", "flexible", true, false, 1614276285, ""]:                                                        
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1                                                                                                                                                                                        
                                                                                                                                                                                                                                                
    
    In Exception.php line 18:
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1                                                                                                                                                                                        
                                                                                                                                                                                                                                                
    
    In PDOStatement.php line 115:
                                                                                                                                                                                                                                                
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups) VALUES ('1614276285', 'XXX', 'XXX', 'XXX', '$argon2id$v=19$' at line 1
    Es wird die env also geladen und db connect geht auch mit den login-daten. nur er kann unter mysql 8.0.18 nichts machen. Unter 5.7 funzt alles tadellos sowas ist mir echt neu.

  29. #29
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Wie gesagt, es liegt daran, dass Doctrine offensichtlich den Feldnamen "groups" nicht automatisch quoted.
    » sponsor me via GitHub or PayPal or Revolut

  30. #30
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wie gesagt, es liegt daran, dass Doctrine offensichtlich den Feldnamen "groups" nicht automatisch quoted.
    Ok, dann stoße ich an meine Grenzen. Hat einer von euch nen guten Draht zum dev?

  31. #31
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zu Doctrine nicht direkt, aber ich bein einer der Core Entwickler von Contao . Wie gesagt, ich müsste das mal in einer Umgebung mit MySQL 8 testen, habe aber momentan keine solche Umgebung parat.
    » sponsor me via GitHub or PayPal or Revolut

  32. #32
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In welchem Umfang bräuchtest du da Zugriff oder was müsste man dir ggf einrichten, damit du es testen könntest? Ich hätte da noch mein neues Webgo-Hosting CMS Power (SSD) mit MySQL 8 und derzeit (wegen Nextcloud) PHP 7.4. Die Cloud wäre aber kein Hindernis, die kann notfalls problemlos weg, dann könnte ich auch wieder auf PHP 8 umstellen. Und sonst ist da auch noch nichts Wichtiges drauf. Nur eine Contao 4.11.0 Installation, die nur einen Admin-Account hat, also Installtool durchgelaufen und das wars dann auch schon.

  33. #33
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Du könntest einfach mal das contao:user:create command ausprobieren um zu testen, ob der selbe Fehler auftritt.
    » sponsor me via GitHub or PayPal or Revolut

  34. #34

  35. #35
    Contao-Nutzer
    Registriert seit
    25.02.2021.
    Beiträge
    15

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    In welchem Umfang bräuchtest du da Zugriff oder was müsste man dir ggf einrichten, damit du es testen könntest? Ich hätte da noch mein neues Webgo-Hosting CMS Power (SSD) mit MySQL 8 und derzeit (wegen Nextcloud) PHP 7.4. Die Cloud wäre aber kein Hindernis, die kann notfalls problemlos weg, dann könnte ich auch wieder auf PHP 8 umstellen. Und sonst ist da auch noch nichts Wichtiges drauf. Nur eine Contao 4.11.0 Installation, die nur einen Admin-Account hat, also Installtool durchgelaufen und das wars dann auch schon.
    Ich wollte mal freundlich fragen ob hier noch jemand MySQL 8 hat und einfach mal testet ob über den Konsolen-Befehl dort ein User angelegt werden kann. In beiden Fällen (ob es klappt oder nicht) wird die Meldung und die MySQL 8 Versionsnummer benötigt

  36. #36
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •