concrete 9.1.1にてワークフローを追加するシステムページ(dashboard/system/permissions/workflows/add) はphp 8.0 以上の環境ではエラーとなり追加が一切できません。以下のエラーが発生します。
Whoops \ Exception \ ErrorException (E_WARNING)
Undefined variable $wfName
/var/www/html/concrete/single_pages/dashboard/system/permissions/workflows.php 53
ソースを見てみると$wfNameがコントローラー、エレメントで定義されてなさそうです。8.0以上は未定義の変数を使用すると、warningで怒られます。7.4ではnoticeですが、noticeを無視or非表示にしていたのでエラーは何も表示されないと思います。
【再現方法】
私はdocker のphp:8.1-apacheというイメージを使用して、8.1,8.0,7.4で確認を行いました。error_reportingおよびconcreteの設定はいじっていません。イメージはそのまま導入し、concreteもインストール直後にワークフローの追加を行いました。
【対策について】
今回は開発環境だったので7.4に落としてひとまずOKでした。しかし最終的には推奨の8.1の環境にインストールする予定ですのでそれでも問題ない方法が必要です。ユーザーサイドでできることはwarningでもエラーが出ないようにerror_repotingの設定を変更する場合、どのようにすればよろしいでしょうか?
concrete.debug.error_reportingを1にすると一応上記のエラーはでなくなりました。
1 Like
katz515
3
@junmedia2 ありがとうございます。
うむむむ。厄介そうなエラーですね。
concrete.debug.error_reportingを1にすると一応上記のエラーはでなくなりました。
ありがとうございます。
ちょっとおかしな挙動ですね。
時間ができた時に見てみます。
katz515
4
@junmedia2
ウチの社内で見つけてくれました。
ちょうど2日前に GitHub で修正されていました。
9.1.2 で治るようです。
先にパッチ当てたい場合はこちらです
1 Like
上記の通り、当エラーはphp8の環境でconcrete 9.1.1のバージョンで発生します。
9.1.2にて修正されました。
Fixed error adding basic workflow in PHP 8.1.
1 Like