recherche

Maison  >  Questions et réponses  >  le corps du texte

L'ajout d'un groupe dans Davical provoque une erreur

<p>Bonjour, j'essaie d'installer Davical à côté de Nextcloud en utilisant Postgres, nginx et php8.1, cela fonctionne partiellement (l'ajout d'utilisateurs ou de ressources fonctionne bien) mais lorsque je veux créer des groupes, j'obtiens le message d'erreur suivant : </p> <p>Je peux créer des groupes dans le panneau d'administration, mais lorsque j'appelle la page des groupes (<code>https://calendar.example.de/admin.php?action=edit&t=principal&id=1019</ code> ) Je reçois ce message d'erreur sous « Adhésion au groupe » : </p> <pre class="brush:php;toolbar:false;">Exception [42601] SQLSTATE[42601] : Erreur de syntaxe : 7 FEHLER : Müll folgt auf numerische Konstante bei »1019O« ZEILE 1 : ...membre OÙ group_id = 1019) ET principal_id != 1019ORDER ... ^ À la ligne 95 de /usr/share/awl/inc/AwlDatabase.php ================= Trace de pile =================== /usr/share/davical/htdocs/admin.php[50] Navigateur->Render() /usr/share/awl/inc/classBrowser.php[852] edit_group_row() /usr/share/davical/inc/ui/principal-edit.php[591] Éditeur->Render() /usr/share/awl/inc/classEditor.php[669] preg_replace_callback() [0] Éditeur->ReplaceEditorPart() /usr/share/awl/inc/classEditor.php[597] EntryField::BuildOptionList() /usr/share/awl/inc/DataEntry.php[306] AwlQuery->Exec() /usr/share/awl/inc/AwlQuery.php[585] AwlQuery->Execute() /usr/share/awl/inc/AwlQuery.php[396] AwlDatabase->query() /usr/share/awl/inc/AwlDatabase.php[95] PDO->query()</pre> <p>Et je ne peux pas ajouter d’utilisateurs à des groupes.</p> <p>Davical错误日志中还存在以下错误消息</p> <pre class="brush:php;toolbar:false;">2023/04/26 11:38:59 [erreur] 330989#330989 : *17 FastCGI envoyé dans stderr : "Message PHP : PHP Early Exception : [42601] SQLSTATE[42601] : Erreur de syntaxe : 7 FEHLER : Müll folgt auf numerische Konstante bei »1019O« ZEILE 1 : ...membre OÙ group_id = 1019) ET principal_id != 1019ORDER ... ^ à /usr/share/awl/inc/AwlDatabase.php:95" lors de la lecture en amont, client : 192.168.100.2, serveur : calendrier.example.de, requête : "GET /admin.php?action=edit&t=principal&id=1019 HTTP/2.0", en amont : "fastcgi ://unix:/run/php/php8.1-fpm.sock:", hôte : "calendar.example.de"</pre> <p>postgresql 错误日志显示:</p> <pre class="brush:php;toolbar:false;">2023-04-26 11:59:29.228 CEST [333501] davical_app@davical ANWEISUNG : SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = 1019) AND principal_id != 1019ORDER BY 2</pre> <p>使用 ubuntu 22.04、php8.1、postgresql 15、Davical 1.1.11-1、libawl-php 0.63-1 全部</p>

gt; php8.1.-fpm.sock est utilisé pour créer un fichier php8.1.-fpm.sock. Comment postgresql fonctionne-t-il ? 有人可以进一步帮助我吗?</p> <p>谢谢!</p>

P粉460377540P粉460377540456 Il y a quelques jours706

répondre à tous(1)je répondrai

  • P粉098417223

    P粉0984172232023-09-05 10:19:39

    Ce code est faux :

    $sql = 'SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal ';
      $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = '.$id.') ';
      $sql .= 'AND principal_id != '.$id;
      $sql .= 'ORDER BY 2';

    ORDER BY reste bloqué après $id, ce qui vous fait voir le message d'erreur.

    Correction : il y a des espaces supplémentaires avant ORDER BY :

    $sql .= ' ORDER BY 2';

    Le fichier peut être trouvé ici, principal-edit.php

    répondre
    0
  • Annulerrépondre