予期しないインストールの停止

提供:MoodleDocs
移動先:案内検索

時々、ページが半分だけ表示され、残りは消えた状態で、テーブル設定時にインストールが停止する場合があります。インストール停止の例および原因は下記のとおりです:


不完全なMySQL命令文

(mysql): SET NAMES 'utf8'
--------------------------------------------------------------------------------
(mysql): SHOW LOCAL VARIABLES LIKE 'character_set_database'
...
...
(これ以上のメッセージは、表示されません)

「続ける」ボタンがありません。

「Scroll to continue」リンクは表示されますが、「続ける」ボタンが表示されません。

注意: 既存のデータベースのアップグレードおよびインストール時のロール生成の段階で画面が固まったようになります。これらの処理には、非常に長い時間がかかります - ですから、しばらくお待ちください。

以下、この問題を解決するため、あなたが試みることのできる解決方法です:

  • MySQLリミットをチェックする。多くの場合、これはMySQLのエラーであり、PHPのエラーではありません。あなたのMySQLデータベースにリミットが設定されていなことを確認してください (例 questionsのリミット)。詳細は、Limiting Account Resources in the MySQL manualをご覧ください。
  • あなたの .htaccessファイルをチェックする。Moodleがウェブホストにインストールされている場合、次の行をMoodleディレクトリの .htaccessファイルに追加してください。これは、問題を解決する方法として知られています。
AddType x-mapp-php5 .php
また、.htaccessをリネームして、無効にすることも試してみてください。

コードのカスタマイズ

また、あなたがコードを過去にカスタマイズしているかどうか確認してください。最新のテーブルを確認して、そのテーブルから参照されているblock、mod、および他のコードを確認してください。例えば、あなたのインストールが途中で止まって、最後のメッセージでフォーラムテーブルが正常に更新されたしたと表示されている場合、/mod/forum/ ディレクトリにカスタマイズされたコードがあるかどうか確認してください。あなたがコードをカスタマイズしている場合、それらのコードをバックアップした後、正しいコードと入れ替えてください。config.phpをリネームするか、バックアップからデータベースを再インストールすることで、あなたはインストール処理を再実行することができます。インストールが正常に終了した後、あなたが修正しているコードを元に戻すことができます。

メモリーリミットの確認

恐らく、あなたのphp.iniの設定において、「memory_limit」に小さすぎる値が設定されていると考えられます。あなたのphp.iniファイルを確認して、推奨値を割り当ててください (詳細は、システム要件をご覧ください。)。Moodle 1.8以降では、少なくとも40MBの設定が推奨されています。

増分アップグレード

アップグレード時のトラブルを避けるには、それぞれのMoodleバージョンを段階的にアップグレードすることをお勧めします。例えば、1.7 -> 1.8 -> 1.9 の順でアップグレードします (1.5または1.6の例外として、1.7をスキップしてください。言い換えれば、1.5 -> 1.6 -> 1.8 -> 1.9の順でアップグレードしてください)。

この問題の回避方法には、まず、Moodleパッケージを使用して、あなたのローカルPCまたはサーバで動作するMoodleシステムをセットアップします。あなたがMoodleを動作するようにした場合、データベースをバックアップして、あなたのウェブホストにインポートしてください。そして、Moodleコード自体 (あなたのPCの「moodle」ディレクトリ) をバックアップして、(例えば) FTPを使用して、あなたのウェブホストにコピーしてください。最後に、ウェブホストのために変更する必要のある新しい設定のため、moodle/config.phpを編集しください。

何人かのMoodlerは、何故か http://moodle.org/mod/forum/discuss.php?d=65786#p297433 での提案が有用だと考えているようです。この投稿では、fopen関数が使用されている行 (現在、406行目の代わりに426行目) で最初の変数が与えられていないと主張していますが、実際には正しくありません。この修正により、文字列の最初と最後が単一引用符 (') で囲まれます。驚くべきことに、修正後、正常に動作してしまいます。さらに驚くべきことに、少なくとも数名のユーザのトラブルを解消できたようです。不思議です。

関連情報