ilch Forum » Ilch CMS 2.X » Fehlersuche und Probleme » ONLY_FULL_GROUP_BY (MySQL Error)

Geschlossen
  1. #1
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    ZitatZitat
    MySQL Error: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ilch2.pc.visits' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    in Query: SELECT `p`.`id`,`p`.`cat_id`,`p`.`date_created`,`pc`.`visits`,`pc`.`author_id`,`pc`.`description`,`pc`.`title`,`pc`.`perma`,`pc`.`content`,`pc`.`article_img`,`pc`.`article_img_source` FROM `ilch_articles` AS `p` LEFT JOIN `ilch_articles_content` AS `pc` ON `p`.`id` = `pc`.`article_id` WHERE (`p`.`cat_id` = "1" AND `pc`.`locale` = "") GROUP BY `p`.`id` ORDER BY `id` DESC


    Aktuell im Zusammenhang mit jedem Query des Artikelmoduls, um den Fehler zu umgehen, kann man zunächst ONLY_FULL_GROUP_BY deaktivieren.

    Aufgetreten unter einem frischen Ubuntu 16.04 und mysql-server (Ver 14.14 Distrib 5.7.13, for Linux (x86_64) using EditLine wrapper) in Standardkonfiguration.

    Das Deaktivieren von ONLY_FULL_GROUP_BY kann allerdings keine endgültige Lösung für das Problem sein.

    Siehe:
    Debunking GROUP BY myths
    GROUP BY, are you sure you know it?


    verwendete ilch Version: 2.0 (alpha)
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Das liegt dann wohl daran das "visits" nicht in der GROUP BY clausel ist. Entweder nimmst du es mit rein oder du machst bei der select Angabe noch ein "ANY_VALUE(pc.visits)" wobei ich denke das ANY_VALUE vielleicht die bessere Variante ist.

    Kannst es ja mal testen. Mfg.


    Zuletzt modifiziert von corian am 08.08.2016 - 19:16:09
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Naja, hängt nicht nur am visits, sondern an allem.

    Verstehe auch den Sinn des GROUP BYs an der Stelle nicht?!

    Hab es mir jetzt aber nicht weiter angeguckt.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ja alle anderen natürlich auch. Wärst du mal so frei und könntest es test? Bevor ich jetzt nen Server aufsetzten muss mit den Eigenschaften.

    Mfg corian
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Aber ein Artikel hat doch von jeder Locale maximal einen Datensatz, oder ist da mehr geplant? (mehrere Seite o.ä.?)

    Wenn es nur bei einem Datensatz bleiben sollte, brauchen wir doch kein GROUP BY?

    Wie gesagt, hab da nur kurz reingeschaut und keine wirklich logische Erklärung für das GROUP BY gefunden. Vielleicht habe ich ja was übersehen?

    Wenn nicht wäre es wohl sinnvoller, die GROUP BYs zu entfernen zunge
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Ja da gebe ich dir recht...ich weiss auch nicht warum das so ist....
    Ok egal lächeln , aber ändern sollten wir es dennoch.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Ist das Group by nicht für die englische Seite?

    Du kannst ja Multi language einstellen wo du dann für ein Artikel mehrere Seiten anlegen kannst und die Seite je nach ausgewählter Sprache angezeigt wird
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    GROUP BY macht da wirklich keinen Sinn, soweit ich das einschätzen kann, es muss ja nicht zusammengefasst werden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Das war auch mein Eindruck.

    Werde ich bei Gelegenheit mal ändern, ist ja nichts wildes.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Habe mir grade nen Ubuntu 16.04 Server gemietet und alles frisch Installiert und es erscheint der gleiche Fehler.

    Zuerst dachte ich das ich beim einrichten des Servers etwas falsch gemacht habe aber jetzt sehe ich hier das es am Script liegt.

    Betroffene Seite: externer Link
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Sollte reichen, wenn du alle ->group(...) aus der Article.php in application/modules/article/mappers entfernst.

    Im Notfall einfach Stück für Stück entfernen und gucken ob es wieder geht.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Parse error: syntax error, unexpected '$result' (T_VARIABLE) in /var/www/html/application/modules/article/mappers/Article.php on line 139
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Musst schon die Semikolons behalten zunge

    Also wahrscheinlich fehlt in Zeile 138 oder 137 nen Semikolon. Oder davor.
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    danke. in zeile 137 ist es gewesen. war ich wohl zu eilig^^

    jedoch ist im admincenter auch einiges zerschossen.

    x4z.de/index.php/admin/admin/settings/index

    An unexpected error occurred:
    
    MySQL Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'x4z.pc.title' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    in Query: SELECT pc.title, pc.perma, p.id FROM `ilch_pages` as p
                    LEFT JOIN `ilch_pages_content` as pc ON p.id = pc.page_id
                        AND pc.locale = ""
                    GROUP BY p.id


    und unter layouts

    Fatal error: Uncaught Error: Class 'ZipArchive' not found in /var/www/html/application/libraries/Ilch/Transfer.php:382 Stack trace: #0 /var/www/html/application/modules/admin/controllers/admin/Layouts.php(105): Ilch\Transfer->install() #1 /var/www/html/application/libraries/Ilch/Page.php(242): Modules\Admin\Controllers\Admin\Layouts->searchAction() #2 /var/www/html/application/libraries/Ilch/Page.php(131): Ilch\Page->loadController() #3 /var/www/html/index.php(49): Ilch\Page->loadPage() #4 {main} thrown in /var/www/html/application/libraries/Ilch/Transfer.php on line 382



    EDIT: Keiner der Links in der Leiste ist verfügbar außer Layouts wo der genannte Fehler auftritt.


    Zuletzt modifiziert von xxlynusxx am 24.08.2016 - 02:18:52
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Versuch mal in application/modules/admin/mappers/Page.php

    $sql = 'SELECT pc.title, pc.perma, p.id FROM `[prefix]_pages` as p
                    LEFT JOIN `[prefix]_pages_content` as pc ON p.id = pc.page_id
                        AND pc.locale = "'.$this->db()->escape($locale).'"
                    GROUP BY p.id';


    zu

    $sql = 'SELECT pc.title, pc.perma, p.id FROM `[prefix]_pages` as p
                    LEFT JOIN `[prefix]_pages_content` as pc ON p.id = pc.page_id
                        AND pc.locale = "'.$this->db()->escape($locale).'"';


    Und guck ob alles wie erwartet funktioniert.

    Alternativ kannst du vorerst auch den SQL_MODE deines Servers ändern. Dazu zunächst die mysql System Variable sql_mode auslesen, alles kopieren und folgendes in der my.cnf in /etc/mysql einfügen:

    [mysqld]
    sql_mode = <inhalt deiner sql_mode variable>


    Dabei nur darauf achten, dass du aus dem Inhalt der SQL_MODE Variable ONLY_FULL_GROUP_BY rauslöschst.

    Danach MySQL neustarten und fertig.

    Wenn du dabei nicht genau weißt, was du tust, am besten alles, was du änderst, vorher backupen.
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    ein großteil geht wieder.

    boxen und menüs ist immernoch betroffen.

    und der fehler bei layouts auch aber der hat sicher eine andere ursache.


    an die mysql einstellung trau ich mich noch nicht ganz ran um erlich zu sein.


    Zuletzt modifiziert von xxlynusxx am 24.08.2016 - 02:38:21
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Bei den Boxen halt das gleiche, also in application/modules/admin/mappers/Box.php sollte die gleiche Zeile sein, einfach das GROUP BY b.id entfernen.

    Was passiert beim Layout?
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    index.php/admin/admin/layouts/search

    wenn ich das andere design installieren will kommt der oben genannte fehler.
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    php-zip muss installiert und aktiviert sein.

    Eventuell reicht ein apt-get install php5-zip (für php5). Anschließend den Server neustarten, also apache oder nginx oder was auch immer.
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    jetzt erscheint ein anderer fehler.

    der war bei meinem anderen hoster aber auch schonmal da und corian hat das behoben.

    hier der link zum thread: externer Link

    Warning: include(application/layouts/simply/config/config.php): failed to open stream: No such file or directory in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(): Failed opening 'application/layouts/simply/config/config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(application/modules/simply/config/config.php): failed to open stream: No such file or directory in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(): Failed opening 'application/modules/simply/config/config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/application/libraries/Ilch/Transfer.php on line 391


    EDIT: Vergiss bitte was ich über den Thread geschrieben habe, dieser war es nicht. müsste nochmal suchen...


    Zuletzt modifiziert von xxlynusxx am 24.08.2016 - 03:20:26
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Ist die Datei denn da oder nicht?
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Ja ist da.

    Ich danke dir für deine Hilfe aber ich muss nun offline.

    Ich melde mich morgen abend wieder.

    Gute Nacht.


    Zuletzt modifiziert von xxlynusxx am 24.08.2016 - 03:22:55
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Hallo wieder.

    Ich gehe davon aus das es an meinem Server liegt, dass dort irgendwelche Einstellungen fehlerhaft sind oder einfach Komponenten fehlen. Auch wenn es nur Schreibrechte sein sollten die nicht richtig gesetzt wurden läuft es ja schon nicht rund.

    Hättest du evtl ne Liste mit Servereinstellungen die für das Script nötig sind? Denn kann ich überprüfen ob diese noch zu machen sind.

    Hab den Server grade erst erstellt vor ein paar Tagen und er läuft auch aus Sicherheitsgründen nur wenn ich daran arbeite bzw lerne.
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Ich glaube blackcoder hat die Systemcheck Liste bei der Installation aktualisiert.

    Dort sollte eigentlich alles stehen was der Server so braucht
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Das bedeutet also das der Fehler mit der Layout Installation am Script liegt und nicht an meinem Server? Es sind alle Daten vorhanden und der Fehler besteht immernoch:

    Warning: include(application/layouts/simply/config/config.php): failed to open stream: No such file or directory in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(): Failed opening 'application/layouts/simply/config/config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(application/modules/simply/config/config.php): failed to open stream: No such file or directory in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    
    Warning: include(): Failed opening 'application/modules/simply/config/config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/application/libraries/Ilch/Transfer.php on line 391
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.298
    Beitragswertungen
    360 Beitragspunkte
    Nein, Siggi wollte damit nur sagen, dass bei der Installation geprüft wird ob alle PHP-Erweiterungen, die Ilch 2 benötigt, geladen sind. Ich hatte da letztens noch zwei Erweiterung auf die Liste genommen.

    Ist das eine Neuinstallation von Ilch 2 im aktuellen Entwicklungsstand?
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    ZitatZitat geschrieben von blackcoder
    Ist das eine Neuinstallation von Ilch 2 im aktuellen Entwicklungsstand?


    Installiert am 24.08 mit dem aktuellen Script.
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Sollte jetzt erledigt sein.

    Mfg corian
    1 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten