Davical にグループを追加するとエラーが発生する
P粉460377540
2023-09-04 22:16:39
<p>こんにちは、Postgres、nginx、php8.1 を使用して Nextcloud の隣に Davical をインストールしようとしています。部分的には機能していますが (ユーザーまたはリソースの追加は正常に機能しています)、グループを作成しようとすると、次のエラー メッセージが表示されます。 : </p>
<p>管理パネルでグループを作成できますが、グループ ページ (<code>https://calendar.example.de/admin.php?action=edit&t=principal&id=1019</ code>) を呼び出すと、 )
「グループ メンバーシップ」で次のエラー メッセージが表示されます: </p>
<pre class="brush:php;toolbar:false;">Exception [42601] SQLSTATE[42601]: 構文エラー: 7 FEHLER: Müll folgt auf numerische Konstante bei »1019O«
ZEILE 1: ...メンバー WHERE グループ ID = 1019) およびプリンシパル ID != 1019ORDER ...
^
/usr/share/awl/inc/AwlDatabase.php の 95 行目
================= スタック トレース ===================
/usr/share/davical/htdocs/admin.php[50] ブラウザ -> Render()
/usr/share/awl/inc/classBrowser.php[852] edit_group_row()
/usr/share/davical/inc/ui/principal-edit.php[591] エディター -> Render()
/usr/share/awl/inc/classEditor.php[669] preg_replace_callback()
[0] エディター -> 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>ユーザーをグループに追加できません。 </p>
<p>Davical エラー ログには次のエラー メッセージも存在します</p>
<pre class="brush:php;toolbar:false;">2023/04/26 11:38:59 [エラー] 330989#330989: *17 FastCGI が標準エラー出力で送信されました: "PHP メッセージ: PHP 早期例外: [42601] SQLSTATE[42601]: 構文エラー: 7 FEHLER: Müll folgt auf numerische Konstante bei »1019O«
ZEILE 1: ...メンバー WHERE グループ ID = 1019) およびプリンシパル ID != 1019ORDER ...
^ at /usr/share/awl/inc/AwlDatabase.php:95" アップストリームの読み取り中、クライアント: 192.168.100.2、サーバー: Calendar.example.de、リクエスト: "GET /admin.php?action=edit&t" =principal&id=1019 HTTP/2.0"、アップストリーム: "fastcgi://unix:/run/php/php8.1-fpm.sock:"、ホスト: "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 プリンシパル_id、coalesce(表示名、フルネーム、ユーザー名) FROM dav_principal WHEREプリンシパル ID が IN ではありません (グループメンバー WHERE グループ ID = 1019 からメンバー ID を選択) かつプリンシパル ID != 1019ORDER BY 2</pre>
<p>ubuntu 22.04、php8.1、postgresql 15、Davical 1.1.11-1、libawl-php 0.63-1 を使用すべて</p>
<p>php8.1-fpm.sock を確認したところ、www.conf と対応する nginx 設定の両方でソケットへのリンクが正しいことがわかりました。
php8.1.-fpm.sock は動作し、ユーザー権限と所有者は正しく設定されているようです。
もしかしたら何かが足りないのか、それともpostgresqlデータベースに問題があるのでしょうか?
誰かもっと手伝ってくれませんか? </p>
<p>ありがとうございます! </p>
このコードは間違っています:
リーリーORDER BY が $id の後でスタックし、エラー メッセージが表示されます。
修正: ORDER BY の前に余分なスペースがあります:
リーリーファイルはここ、principal-edit.php
にあります。