【Moodle】Vagrant へインストールしたら 503 エラーが出たときの対処法

このエラーで先へ進めず…。

Moodle3 を、Vagrant にインストールすると、インストール、ブラウザによる設定も完了したところで、急に画面に「error/サーバとの通信中にエラーが発生しました。」と表示される、という事象が発生。

その解決法です。

目次出力

解決法

config.php に、以下を追加。
(というより config-dist.php からコメントアウト)

// ↓↓↓追加 ここから↓↓↓
$CFG->session_handler_class = '\core\session\database';
$CFG->session_database_acquire_lock_timeout = 120;
// ↑↑↑追加 ここまで↑↑↑

require_once(__DIR__ . '/lib/setup.php');

参照

Moodle session_start returns FALSE

原因(読まなくてもいい)

不明。

ソースを追っていくと、以下のあたりで Exception が発生しているようです。

# lib/classes/session/handler.php

public function start() {
    return session_start();
}

セッションの準備でエラーが発生している模様。解決方法も、セッションの保存先をデータベースに変更している設定になります。

セッションをファイル書き込みする際に、パーミッションエラーになっているのかな?と思って、いろいろ対処してみましたが、結局他の方法では解決せずでした。


それにしても、ソースを追っていると、自分の PHP の知識が不足をしていることに気づけて、良い勉強になりますね。

ナカタケワークス

福岡の小さな会社専用のITフリーランスです。シンプルで、地球に優しい IT 環境を。