エラーFAQ

内容

エラー:データベース接続に失敗しました

「データベース接続に失敗しました」または「指定したデータベースに接続できませんでした」などのエラーが表示された場合は、いくつかの考えられる原因と解決策があります。

  • データベースサーバーがインストールされていないか実行されていません。これをMySQLで確認するには、次のコマンドラインを入力してください。
 $ telnet database_host_name 3306
MySQLサーバーのバージョン番号を含む暗号化された応答を受け取るはずです。
  • 異なるポートでMoodleの2つのインスタンスを実行しようとしている場合は、$ CFG-> dbhost設定でホストのIPアドレス(localhostではなく)を使用してください(例:$ CFG-> dbhost = 127.0.0.1:3308)。
  • PHPのmysqlまたはpostgresql拡張機能がインストールされていません(PHPがインストールされているかどうかに関係なく、よくある質問を参照してください)。
  • あなたはMoodleデータベースを作成しておらず、 それにアクセスするための正しい権限を持つユーザ課題ていません。
  • Moodleデータベースの設定が正しくありません。あなたのMoodle設定ファイルconfig.phpのデータベース名、データベースユーザ、またはデータベースユーザパスワードが間違っています。 MySQLのインストールを設定および確認するにはphpMyAdminを使用してください。
  • MySQLのユーザー名またはパスワードにアポストロフィやアルファベット以外の文字が含まれていないことを確認してください。
  • MySQLバージョン4.1以降を使用していますが、PHPのMySQL拡張機能は4.1より前です(phpinfoの出力を確認してください)。この場合、 デフォルトのパスワードハッシュアルゴリズムは、PHPのmysql拡張バージョン4.xxで利用可能なものと互換性がありません。パスワードを古い形式に変更するには、次のMySQLコマンドを使用します。
 mysql> SET PASSWORD FOR 'ルート' @ 'ローカルホスト' = OLD_PASSWORD( 'パスワード');
mysql> 'moodleuser'のパスワードを設定@ 'localhost' = OLD_PASSWORD( 'パスワード');
また、PHP MySQLエクステンションをアップグレードすることを検討してください。この問題に対処する方法についての詳細は、 このMySQLのドキュメントを参照してください。
  • SELinuxがインストールされ有効になっているFedora core 3または他のLinuxシステムを使用しています。 SELinuxを無効にする方法については、次のURLを参照してください。http: //fedora.redhat.com/projects/selinux/ SELinuxを無効にしたくない場合は、httpdプロセスにネットワーク接続の作成を許可する必要があります。
 setsebool httpd_can_network_connect true

  • Mac OSXユーザー - もしあなたがMac OSX上でMySQLを実行しているなら、 $ CFG-> dbhostを 'localhost'から '127.0.0.1'に変更してみてください。

参照 :接続エラーのいくつかの可能なシナリオをリストアップした一般的なエラーに関するMySQLページ、および問題を解決する方法に関するアドバイス。

「session.save_pathの現在の設定が正しいことを確認してください」というメッセージでログインできない

このエラーは、PHPがセッションファイルの保存に問題があるときに発生します。また、画面またはログファイルにこれらの他のエラーメッセージが表示されることもあります。

警告:不明:オープン(some-path / sessions / sess_acbf942a7399db3489ffa910e35d5242、O_RDWR)
失敗しました:0行目で不明で許可が拒否されました(13)
警告:不明():オープン(some-path / sessions / sess_acbf942a7399db3489ffa910e35d5242、O_RDWR) 
失敗:0行目のUnknownに、デバイス(28)の空き容量がありません。
警告:不明:セッションデータ(ファイル)の書き込みに失敗しました。現在のことを確認してください 
0行目のsession.save_pathの設定がUnknown(some-path / sessions)になっている 

これらのエラーを一時的に回避するには、あなたのmoodle設定ファイルを編集して以下の行を追加してデータベースセッションを使用してください。

 $ CFG-> dbsessions = true;

データベースセッションはmysqlデータベースを過負荷にする可能性があり、共有ホスティング環境では理想的ではないため、これで問題が解決した場合は、次のようにして問題の解決を開始できます。

  • アクセス権を確認してください。 session.save_pathは、apacheユーザーがアクセスできるようにする必要があります。このコマンドを試してください。
 chown -R apache:Apacheのいくつかのパス/セッション
これは 'apache'があなたのウェブサーバーが走っているユーザーの名前であると仮定します - 'nobody'でも構いません。
  • PHPが保存しようとしているディレクトリへの許可を確認してください(session.save_path = some-path / sessions)。このコマンドを使用して、アクセス権を最初に0777(全員が読み取り、書き込み、実行)に設定します。
 chmod -R 0777 some-path / sessions
これで問題が解決する場合は、権限を減らしてください(700が推奨されています)。

参照 :セッションの問題は、あなたのサーバ環境に特異的であることができます。例として、Lycosホスティングとのセッション問題に関するこのフォーラムのディスカッションを参照してください

エラー:ログインセッションに影響を与えるサーバーエラーが検出されました

ブラウザを再起動してMoodleサイトに再度ログインしてもうまくいかない場合は、 このエラーメッセージに関する Moodle フォーラムの使用のディスカッションをご覧ください。

これがMoodle.orgサイトで受信された場合、そのサイトは更新中である可能性があります。提案を試すか、しばらくしてからもう一度試してください。またはTrackerで報告してください。

エラー:必要な '/web/moodle/lib/setup.php'を開けませんでした

config.phpでは、dirroot変数に使用する設定は、サーバーのハードドライブのルートからの絶対パスでなければなりません。

時々人々は彼らのホームディレクトリから、またはウェブサーバディレクトリのルートからの相対パスのみを使用します。

私のページは致命的なエラーを表示しています:パースエラー、未定義の関数への呼び出し:get_string()

次のようなエラーが表示されたら:

解析エラー:解析エラー、行94の/path/to/moodle/config.php内の予期しないT_VARIABLE 
致命的なエラー:/path/to/moodle/mod/resource/lib.php内の未定義関数get_string()の呼び出し
11行目

それならば、おそらくconfig.phpの行からセミコロンまたは閉じ引用符を省いたでしょう(94行目の前)。

もう1つの可能性は、あなたがWordのようなプログラムでconfig.phpを編集し、それをメモ帳++のようなプレーンテキストエディタを使用する代わりにHTMLウェブページとして保存することです

特に追加のプラグインを使用している場合に確認する必要があるもう1つのことは、いずれかのphpスクリプトが適切なタグ(<?php?>)ではなく短いオープンタグ(<??>)を使用するかどうかです。短いタグはさまざまな理由で不適切なので、最初にその拡張機能の作者に連絡して問題について伝えてください。それから短いタグを従来のものに置き換えるか、php.iniでこの行を設定します。

 short_open_tag =オン

コアのMoodleコードで短いタグを見つけてはいけません。もしそうなら、トラッカーにバグを報告してください。

管理ページに行くと、dirrootを空白にするように言われます。

このようなエラーが表示されたら:

 config.phpで設定を修正してください。 
$ CFG-> dirroot = "/ home / users / fred / public_html / moodle";があります。 
$ CFG  - > dirroot = "";

それからあなたはいくつかのサーバーで発生する小さなバグに遭遇しました。問題は実際のパスではなく、エラーチェックメカニズムにあります。それを修正するには、ファイルadmin / index.phpでこの行(66行目)を見つけます。

 if($ dirroot!= $ CFG-> dirroot){

そしてこれを次のように変更します。

 if(!empty($ dirroot)および$ dirroot!= $ CFG-> dirroot){

「ヘッダがすでに送信された」というエラーメッセージが表示され続けるのはなぜですか?

このようなエラーが表示されたら:

 Warning:ヘッダ情報を追加できません - ヘッダは既に送信しました 
(出力は/webs/moodle/config.php:87から始まります)/webs/moodle/lib/moodlelib.phpに 
1322行目で 
 Warning:ヘッダ情報を追加できません - ヘッダは既に送信しました 
(出力は/webs/moodle/config.php:87から始まります)/webs/moodle/lib/moodlelib.phpに 
1323行目 
 Warning:ヘッダ情報を追加できません - ヘッダは既に送信しました 
/webs/moodle/login/index.phpの(出力は/webs/moodle/config.php:87から開始されます) 
54行目
最後の後に空白行またはスペースがあります
config.phpファイルに。 Windows上のメモ帳など、テキストエディタによってこれらが追加されることがあるため、これらのスペースや空白行を完全に削除するには、別のテキストエディタ( メモ帳++など)を試す必要があります。

エラー: "500:Internal Server Error"

このエラーにはいくつかの原因が考えられます。より包括的な説明があるはずですあなたのWebサーバのエラーログをチェックすることから始めるのは良い考えです。しかし、ここにいくつかの既知の可能性があります。

1. 構文エラー :.htaccessファイルまたはhttpd.confファイルに構文エラーがあります。ディレクティブが記述された方法で異なっている使用しているファイルに依存します。次のコマンドを使ってApacheファイルの設定エラーをテストできます。

 #apachectl configtest

2. PHPsuexec :お使いのサーバーは.htaccessファイルをサポートしていません。特にPHPsuexecを実行している場合は、ホストシステム上のサイトのセキュリティを強化するために使用されるApacheモジュールです。この状況では:

- 403:禁止エラーも表示されることがあります。

- ウェブサーバーはあなた自身のユーザー名で実行され、すべてのファイルは最大パーミッションレベル755を持ちます。これがあなたのコントロールパネルのあなたのMoodleディレクトリに設定されていることを確認してください。

 #chmod -R 755 Moodle

- Moodle PHPスクリプトが実行されているディレクトリで、.htaccessの代わりにPHP.INIファイルを使用してください。例:サーバーがファイルmoodle / admin / cron.phpを実行しているときにメモリ不足エラーを受け取った場合は、PHP.INIファイルを使用してmemory_limitを変更し、それをmoodle / adminディレクトリにコピーしてください。 PHP 4では、PHP.INIファイルはディレクトリごとであるため、各サブディレクトリにコピーする必要があります。共有ホストでPHP 5以降を使用している場合は、カスタムPHP.INIファイルをサポートしているかどうか、およびそれらの作成方法についてホストに確認してください。 PHP.INIファイルで使用されている構文は.htaccessファイルとは異なり、行の先頭からphp_value / php_flagを取り出し、等号を使用して値を割り当てる必要があります。

 php_value memory_limit 128M < -  .htaccess
memory_limit = 128M < -  php.iniに相当 

3. 互換性のないディレクティブ :.htaccessファイルまたはhttpd.confファイルに、Webサーバーのバージョンと互換性のないディレクティブがある可能性があります。 Webサーバのドキュメントを確認してください。

エラー "403:禁止"

Webサーバーの設定を確認してください。上記の「500:Internal Server Error」も参照してください。

致命的なエラーにより、メモリサイズが使い果たされました。どうすれば私のphpメモリ制限を増やすことができますか?

あなたは時々このようなエラーメッセージを見るでしょう:

致命的なエラー:許容メモリサイズ67108864バイトを使い果たしました 
/var/www/moodle/yyyy.phpに(xxバイトを課題ようとしました)

このエラーは、php memory_limitの値がphpスクリプトには不十分であることを意味します。 memory_limit値は、 "許可されたメモリサイズ"で、上記の例では64Mです(67108864バイト/ 1024 = 65536 KB、65536 KB / 1024 = 64 MB)。このメッセージが表示されなくなるまで、php memory_limitの値を増やす必要があります。これを行うには2つの方法があります。

  • ホスト型インストールでは、ホストのサポートにこれを行う方法を依頼する必要があります。ただし、多くの場合、.htaccessファイルが許可されています。もしそうなら、あなたの.htaccessファイルに次の行を追加してください(あるいはまだ存在していなければmoodleディレクトリにそれを作成してください):
 php_value memory_limit <値> M
例:php_value memory_limit 40M
  • あなた自身のサーバにシェルアクセスがある場合は、次のようにphp.iniファイルを編集してください(phpinfoの出力をチェックして正しいファイルであることを確認してください)。
 memory_limit <値> M
例:memory_limit 40M
  • それ以降のバージョンのMoodleでは、すべての機能が適切に機能するために512Mの領域の数字を見ることができます(バックアップとリストアは特にメモリを消費します)。これらの大きな設定を使用する場合は、サーバーのメモリ使用量を監視するのが賢明です。

php.iniへの変更を有効にするには、Webサーバーを再起動する必要があることを忘れないでください。別の方法は、コマンドmemory_limit 0を使用して、memory_limitを無効にすることです。

エラー:「あなたのセッションはタイムアウトしました。もう一度ログインしてください。」または「ページが正しくリダイレクトされていません」または「このWebページにリダイレクトループがあります」

次のうちの1つまたはすべてを実行してください。

  • ブラウザからCookieを手動で削除して閉じてから、もう一度サイトにアクセスしてください。時々これは問題を解決する。
  • あなたのmoodledata / sessionsディレクトリに書き込み権限があることを確認してください。あなたがMoodleにアクセスするとき、そこに新しいファイルが作成されるべきです。
  • 同じコンピュータで2つのバージョンのMoodleを実行している場合は、 管理>サーバ> セッション処理でクッキーのプレフィックスを設定してください。

ディスカッションあなたのセッションはタイムアウトしました。もう一度ログインしください

  • http://yoursite/subdir/admin/purgecaches.phpを参照してください。最初にログインしてから、すべてのキャッシュを消去するボタンのあるページにリダイレクトするように求められます。
  • あなたのサーバーファイルにアクセスできる場合は、 'moodledata'フォルダに移動し、内部の 'cache'フォルダに移動して、そこにあるすべてのコンテンツを消去してください(通常は2ファイルのみ)。 Moodleはリダイレクトループでフリーズしたセッションを削除し、Moodleは再び動作します。

インストール時のエラー:ERR_TOO_MANY_REDIRECTS

  • あなたはNotepad ++のようなファイルエディタでmoodle \ admin \ index.phpファイルを編集する必要があります 。 MS-Wordを使わないでください。
  • 次の行を探します。
リダイレクト( "index.php?sessionstarted = 1&lang = $ CFG-> lang");
  • このようにコメントアウトするには、2つの逆スラッシュを追加します。
 //redirect("index.php?sessionstarted=1&lang=$CFG->lang ");
  • ブラウザからインストールを続行します。


致命的エラー:...で最大実行時間が30秒を超えました(インストール時)

  • コンピュータがインストールスクリプトの実行に時間がかかりすぎています。デフォルト値は以前は30秒でした(ただし、いくつかの新しいMoodleブランチはそれを増やしました)。
  • インストール処理が完了するまでF5(最新表示)を押します。
  • または、 メモ帳++などのテキストエディタを使用して、your_local_server \ server \ php \ php.iniにあるファイルを編集します。 MS-Wordを使わないでください。
    • 次の行を探します。
 max_execution_time = 30
    • そして30秒の値をもっと長い時間に置き換えてください。例えば、600のようになります。
 max_execution_time = 600
    • 編集したファイルを保存してローカルサーバーのインストールを再開します。

インストール時のエラー:接続がリセットされました/このサイトにアクセスできない

インストールエラーこのサイトにアクセスできません。png

Skypeをインストールまたはアップグレードしましたか?

  • SkypeはMoodleと同じポート(80)を使用します。
  • Skypeを削除します。
  • Windowsを再起動してください。
  • Moodleをインストールして
  • Skypeを再インストールしてください。

良いアンチウイルスでPCをチェックしてください

  • 無料/有料のWindowsウイルス対策ソフトウェアを選択するときは、非常に注意してください。
  • 探すのに良い場所は、 古くて信頼性が高く、しっかりしたPC雑誌 、そして古くて信頼性が高く、しっかりしたPCブログです。
  • 多くの悪意のあるマルウェアプログラムがウイルス対策ソリューションとして機能することに注意してください。
  • インストールする前に、お近くのIT専門家、またはGoogleに選択した解決方法を問い合わせることをお勧めします。

Moodleでスクリプトを実行するために許可されている時間を増やす

ローカルホスト接続が再開されました。png

  • 'Stop Moodle.exe'をクリックしてください。
  • ファイルserver / php / php.iniを編集し( Notepad ++または他の単純なテキストエディタを使用します。MS-Wordは使用しないでください)、 max_execution_time =の行の数を増やします。

最大実行時間を編集する

  • 値を10分(600秒)に増やします。

最大実行時間を600.pngに編集

  • 'Start Moodle.exe'をクリックしてください。
  • 問題が解決したかどうかを確認してください。そうでなければ、以下を読み続けてください。

Apacheのデフォルトスタックサイズを増やす必要があるかどうかを確認してください

子プロセスXXXXがステータス3221226356  - 再起動中で終了しました。 
    • (XXXXは数字、任意の数字)

子プロセスXXXXがステータス3221226356.pngで終了しました

  • Apacheのデフォルトのスタックサイズ小さいため、Windowsでよく起こる問題があるかもしれません。そしてそれは通常、たくさんのスタックを割り当てるphpコードを扱うときに起こります。
  • この問題を解決するには、テキストエディタ( Notepad ++など、MS-WORDを使用しないでください)を使用して、apache設定ファイル(../server/apache/conf/httpd.conf)の最後に次の3行を追加します。
 <IfModule mpm_winnt_module>
  ThreadStackSize 8888888
</IfModule>
  • そして、Apacheを再起動してください。

Googleドライブはありますか?

  • ヒープ破損(STATUS_HEAP_CORRUPTION) 。グーグルドライブのようないくつかのプログラムはヒープ破壊を引き起こしているかもしれません。
  • 最新バージョンのApache(XAMPP)に切り替えると問題が解決する可能性があります。

サイト全体をアップグレードせずに、1つのバグだけを修正するにはどうすればよいですか。

と仮定します。

  • あなたは古いMoodleバージョンを実行しています。
  • あなたは特定のバグを経験しています。
  • あなたはトラッカーを検索しました、そしてあなたの問題がMDL-abcであること、そしてそれが最新版で修正されたことを発見しました。
  • 最新のバージョンにはおそらくセキュリティ上の修正があるにもかかわらず、何らかの理由で、あなたはあなたのサイト全体をアップグレードすることができません。

それでは、サイト全体をアップグレードせずに、この1つのバグに対する修正をどのようにして入手できますか。手動でコードにパッチを適用する準備ができているのであれば、おそらくトラッカーからこの情報を入手することができます。 このガイドをてください

関連情報