Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Yumu Noma の投稿
返信数: 5

[やりたいこと]

Moodle3.9にアップグレードした後に「参加者」「ブック」にアクセスしたい。

[前提]

・環境
Moodle3.9.2+
Server version: Apache/2.4.39 (IUS)
CentOS Linux release 7.8.2003 (Core)
PHP 7.2.34 (cli) (built: Sep 30 2020 07:31:56) ( NTS )

MoodleをVer. 3.1 -> 3.5 -> 3.9とバージョンアップしました。

利用した方法は以下の公式ドキュメントにある、各バージョンのMoodle圧縮ファイルをダウンロード・解凍する方法です。
https://docs.moodle.org/35/en/Upgrading
https://docs.moodle.org/39/en/Upgrading

無事にアップグレードは完了して、Moodleの画面表示やログインは問題なくできます。

[問題]

各コースの「参加者」や「ブック」にアクセスしようとすると、HTTP 500のエラーが表示されます。
それぞれ以下ディレクトリのページです。
参加者:moodle/user/index.php
ブック:moodle/mod/book/view.php

[試したこと・確認したこと]

・Moodleディレクトリ(ファイルも含めて)の権限を以下のように変更してみましたが、「参加者」は表示されないままでした。
- 775と777
- rootとcentos(ユーザーとグループ所有権どちらも統一して変更)

・PHPやApacheのエラーログを確認しても、特にエラーは確認できませんでした。

・データベースと接続できていないのかと思いましたが、ユーザー一覧やカテゴリなどは表示されているため、データベースには繋がっています。

解決方法をご存知の方はご教示いただけますと幸いです。

Yumu Noma への返信

Re: Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

まず、以下の手順で「動作環境」ページに警告メッセージ等が表示されるかどうかご確認ください。

  1. サイト管理者としてMoodleにログインする。
  2. 「管理 > サイト管理 > サーバ > 動作環境」ページに移動する。


次に以下の設定変更で何らかのエラーメッセージが表示されるかどうかご確認ください。

  1. サイト管理者としてMoodleにログインする。
  2. 「管理 > サイト管理 > 開発 > デバッグ」ページに移動する。
  3. 「デバッグメッセージ debug」プルダウンメニューで「DEVELOPER: 開発者のための特別Moodleデバッグメッセージ」を選択する。
  4. 「デバックメッセージを表示する debugdisplay」を有効にする。
  5. ページ下部の「変更を保存する」ボタンをクリックする。

また、可能でしたら、以下の情報をお教えください。

  • サーバにModSecurity等のWAF (Web Application Firewall) をインストールしているか否か。
  • Moodleプログラムのディレクトリに.htaccessファイルを設置しているか否か。
  • Moodleプログラムをカスタマイズ (独自修正) しているか否か。
  • ブック」モジュールがMoodle 3.9.2+に対応しているか否か。
  • ブック」モジュール以外に非標準プラグインをインストールしているか否か。

[ModSecurity: Open Source Web Application Firewall
https://www.modsecurity.org/

[Moodle plugins directory]
https://moodle.org/plugins/

[Moodle Plugins directory: Book]
https://moodle.org/plugins/mod_book

Mitsuhiro Yoshida への返信

Re: Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Yumu Noma の投稿

ご返信いただきありがとうございます。
アドバイスいただいた点を確認しましたところ、以下のような結果となりました。

結論としては、エラーメッセージの箇所を修正すれば解決できるかもしれません。

[動作環境 ページ]

添付のように以下3つのステータスがチェックとなっていますが、今回のページが表示されない問題には関係がないように思います。
・php_extension:soap
・php_setting:opcache.enable
・mysql_full_unicode_support

[エラーメッセージ]

ご教示いただいた方法の通りに設定変更したところ、以下のようにエラーメッセージが表示されました。

・ヘッダー部分の表示

pix_url is deprecated. Use image_url for images and pix_icon for icons.

line 296 of /lib/outputrenderers.php: call to debugging()
line 52 of /theme/afterburner/layout/default.php: call to renderer_base->pix_url()
line 1374 of /lib/outputrenderers.php: call to include()
line 1304 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
line 497 of /lib/outputrenderers.php: call to core_renderer->header()
line 488 of /admin/renderer.php: call to plugin_renderer_base->__call()
line 109 of /admin/environment.php: call to core_admin_renderer->environment_check_page()

https://xxxxxxxx/moodle/theme/image.php/afterburner/theme/1603453179/favicon" />

・「参加者」「ブック」にアクセスした際の表示

Warning: require_once(/var/www/html/moodle/xxxxxxxx/common/db_access.php): failed to open stream: No such file or directory in /var/www/html/moodle/theme/afterburner/layout/default2_pc.php on line 3

Fatal error: require_once(): Failed opening required '/var/www/html/moodle/xxxxxxxx/common/db_access.php' (include_path='/var/www/html/moodle/lib/pear:.:/usr/share/pear:/usr/share/php') in /var/www/html/moodle/theme/afterburner/layout/default2_pc.php on line 3

上記エラーメッセージより、テーマ「afterburner」に問題があるとのことです。
Moodle3.1のバックアップからコピーしただけなのですが、Moodle3.9には対応しきれていない、ということなのでしょうか…?

現在、対処方法を調べていますが、まだ見つかっていません。
もし、ご存知でしたら、ご教示いただけますと幸いです。

[その他]

・Moodleプログラムのディレクトリに.htaccessファイルを設置しているか否か。
→設置しておりません。

・Moodleプログラムをカスタマイズ (独自修正) しているか否か。
→カスタマイズしています。しかし、前任者の方がカスタマイズされたため、具体的にどのようにカスタマイズされたのかは分かりません。

・以下に関しては、確認ができませんでした。
- サーバにModSecurity等のWAF (Web Application Firewall) をインストールしているか否か。
- 「ブック」モジュールがMoodle 3.9.2+に対応しているか否か。
- 「ブック」モジュール以外に非標準プラグインをインストールしているか否か。

何卒、ご確認の程よろしくお願いいたします。

添付 moodle01.png
添付 moodle02.png
Yumu Noma への返信

Re: Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> 添付のように以下3つのステータスがチェックとなっていますが、今回のページが表示されない問題には関係がないように思います。
> ・php_extension:soap
> ・php_setting:opcache.enable
> ・mysql_full_unicode_support

はい、今回のページが表示されない問題には関係ありません。「php_setting:opcache.enable」および「mysql_full_unicode_support」の「ステータス = チェック」に関しましては可能な限り解消された方が宜しいかと思います。

> 上記エラーメッセージより、テーマ「afterburner」に問題があるとのことです。
> Moodle3.1のバックアップからコピーしただけなのですが、Moodle3.9には対応しきれていない、ということなのでしょうか…?

はい、そうです。

以下のページで確認する限り、テーマAfterburnerはMoodle 3.1以下のバージョンのみサポートされるようです。

[Moodle plugins directory: Afterburner: Versions]
https://moodle.org/plugins/pluginversions.php?plugin=theme_afterburner

よろしければ、以下の手順の後でも同じようにエラーが表示されるかどうかご確認ください。

  1. サイト管理者としてMoodleにログインする。
  2. 「管理 > サイト管理 > アピアランス > テーマ  > テーマセレクタ」ページに移動する。
  3. 「デバイスタイプ: Default」行の右端にある「テーマを変更する」ボタンをクリックする。
  4. 「Boost」の下にある「テーマを使用する」ボタンをクリックする。

Mitsuhiro Yoshida への返信

Re: Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Yumu Noma の投稿
アドバイスいただきありがとうございます。
Moodle3.1のバックアップにオリジナルで作成したファイル群があり、そちらをMoodle3.9にディレクトリごとコピーしたら「参加者」と「ブック」が表示されました。

その他のエラーに関しましても、解消しておきたいと思います。
ご確認いただきありがとうございました。
Yumu Noma への返信

Re: Moodle3.9にアップグレードした後に「参加者」「ブック」が表示されない

- Yumu Noma の投稿
こちら解決できました。

Moodle3.1のバックアップにオリジナルで作成したファイル群があり、そちらをMoodle3.9にディレクトリごとコピーしたら「参加者」と「ブック」が表示されました。

ご回答いただきありがとうございました。