Moodle 5.3 日本語ドキュメント(第一次翻訳):ほぼすべてのページが日本語に翻訳されました。まだ第一次翻訳のため、不自然な表現や誤訳が残っている可能性があります。お気づきの点があれば、ページコメントでお知らせいただくか、直接編集してください。スクリーンショットの多くは、まだ英語版の画面のままです。以前のバージョンの日本語ドキュメントは、バージョンメニューからご覧いただけます。
Moodle 5.3 Japanese documentation (first-pass translation): almost all pages have now been translated into Japanese. As this is a first pass, some wording may read unnaturally or be mistranslated. If you notice anything, please leave a page comment or edit the page directly. Most screenshots still show the English interface. Japanese documentation for earlier versions is available from the version menu.

PHP

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

PHPは、Moodleの開発に使用されているスクリプト言語です。PHPはウェブサーバに統合されています。ウェブサーバはPHPページを(拡張子によって)検出し、実行のためにPHPに送ります。Moodleが効果的に(あるいはそもそも)動作するには、PHPが正しくインストールおよび設定されている必要があります。

PHPのバージョン

  • Moodle 3.0.1以降はPHP 7をサポートしています。ただし、
    • Moodle 3.1以前はPHP 7.1以降をサポートしていません(つまり、Moodle 3.4より前では、MoodleとPHPのリリースの組み合わせで現在もサポートされているものはありません)。
  • Moodle 3.4およびMoodle 3.5では、PHP 7.0、PHP 7.1またはPHP 7.2が必要です
  • Moodle 3.6では、PHP 7.0以降が必要です
  • Moodle 3.7では、PHP 7.1以降が必要です
  • Moodle 3.9では、PHP 7.2から7.4が必要です
  • Moodle 3.11および4.0では、PHP 7.3から8.0が必要です
  • Moodle 4.1(LTS)では、PHP 7.4から8.1が必要です
  • Moodle 4.2では、PHP 8.0から8.2が必要です
  • Moodle 4.3では、PHP 8.0から8.2が必要です
  • Moodle 4.4では、PHP 8.1から8.3が必要です
  • Moodle 4.5(LTS)では、PHP 8.1から8.3が必要です
  • Moodle 5.0では、PHP 8.2から8.4が必要です
  • Moodle 5.1では、PHP 8.2から8.4が必要です
  • Moodle 5.2では、PHP 8.3から8.4が必要です
  • 今後リリース予定のMoodle 5.3(LTS)では、PHP 8.3から8.4が必要です

PHPの設定

php.iniまたは.htaccessファイル(Apacheを使用している場合)で、次の設定を確認してください。値としてON/OFFを使用する設定では、必要に応じて、ONの代わりに1、OFFの代わりに0を使用できます。php.iniを変更した場合は、サーバを再起動することを忘れないでください。

  • memory_limitは少なくとも96Mにする必要があります(ただし、これほど低いと一部の機能が動作しない場合があります)。これより低い場合、Moodleはインストールを拒否します。128Mをお勧めします。大規模なシステムでは、さらに高い設定が必要になる場合があります。
  • session.save_handlerはFILESに設定する必要があります。
  • magic_quotes_runtimeはOFFにする必要があります。(PHP 5.3.0で非推奨となり、PHP 7.0.0で削除されました。)
  • file_uploadsはONにする必要があります。
  • session.auto_startはOFFにする必要があります。
  • 一時フォルダが定義されていて、ウェブサーバユーザが書き込み可能である必要があります。
  • エラーの表示/ログ記録のセクションを確認してください。設定がサーバの用途に適していることを確認してください。
  • post_max_sizeおよびupload_max_filesizeは、アップロードできる最大ファイルサイズを制限します。
  • [mail function]セクションおよびデータベースのセクション(選択したデータベース用)を確認し、サーバの設定と一致していることを確認してください。

正しいphp.iniの見つけ方

php.iniファイルの場所がわかりにくいことや、複数見つかることもあります。確実に知るには、「phpinfo」を実行してください(下記参照)。php.iniファイルのパスは、最上部のセクションの数行下にあります。

なお、cron(またはその他の処理)の実行にコマンドライン(CLI)のPHPを使用している場合、そのPHPは別のphp.iniファイルで設定されている可能性があります。確認するには、次のコマンドを実行します:

php -i | grep php.ini

PHPの拡張モジュールとライブラリ

次のPHP拡張モジュールが必須または推奨です(一部、たとえばiconv、ctypeおよびtokenizerは、現在ではデフォルトでPHPに含まれています)。その他の拡張モジュールは、インストールまたは選択する必要があります。

必須の拡張モジュール

  • ctype
  • curl
  • dom
  • gd
  • iconv
  • intl
  • json
  • mbstring
  • pcre
  • simplexml
  • spl
  • xml
  • zip
  • 選択したデータベースに適した拡張モジュールも必要です(pgsql、mysqli、sqlsrv、oci8またはpdo)。
  • Moodleのオプション機能、特に外部認証や登録をサポートするために、その他のPHP拡張モジュールが必要になる場合があります(たとえば、LDAP認証にはLDAP拡張モジュール、チャットサーバにはsockets拡張モジュールが必要です)。

推奨の拡張モジュール

  • openssl(ネットワーキングおよびウェブサービスに必要)
  • soap(ウェブサービスに必要)
  • sodium(PHP 8以降で必要)
  • tokenizer
  • xmlrpc(ネットワーキングおよびウェブサービスに必要)

(不足している)拡張モジュールのインストール

これは、マシンにPHPがどのようにインストールされたか、およびどのようなアクセス権があるかによって異なります。考えられる方法は次のとおりです:

  • 拡張モジュールがインストールされていても、有効になっていない場合があります。その場合は、php.iniでextension=<extension-name> ディレクティブを使用して有効にできます。
  • ホスティングされているサーバの場合は、管理者またはホスティング業者に依頼する必要があるでしょう。
  • PHPをソースからコンパイルした場合は、「configure」の設定を変更して再コンパイルする必要があります。ソースからのPHPのコンパイルをご覧ください。
  • パッケージを使用してインストールした場合(一般的にLinux)は、必要なパッケージをインストールできます(Linuxディストリビューションのドキュメントをご覧ください)。
  • Windowsを使用している場合は、php.iniで該当するDLLファイルのコメントを解除するだけです。

変更や追加を行った後は、ウェブサーバを再起動することを忘れないでください。

.htaccessファイル

php.iniファイルにアクセスできない場合や、同じサーバ上の他のPHPアプリケーションと要件が競合する場合は、.htaccessファイルでPHPの設定を変更できることがあります。このファイルは、Moodleインストールの「ルート」(つまり、config.phpファイルと同じ場所)に配置してください。

このファイルは必ずしも.htaccessという名前ではなく、まったく動作しない場合もあります。確実に知るには、サーバ管理者に問い合わせてください。

設定は、次の2つの形式のいずれかで行を追加することで行います:

  • php_value name value
  • php_flag name on/off

例:

  • php_value memory_limit 128M
  • php_flag register_globals off

PHP情報

phpinfoの表示には、PHPインストールの設定に関する情報が含まれています。これは、次のことを確認するのに役立ちます:

  • PHPインストールがMoodleのシステム要件を満たしていること。
  • サーバのPHPインストールに現在適用されている値(例:ファイルアップロードの制限)。
  • Moodleの動作に必要なモジュールがインストールされていること(例:LDAP認証用のLDAPモジュール)。

Moodle内でのphpinfoの表示

管理者は、設定 > サイト管理 > サーバ > PHP情報でPHP情報を確認できます。

Moodle外でのphpinfoの表示

phpinfoの情報を表示するには:

  • テキストエディタを使用して、次の1行を含むinfo.phpというファイルを作成します:
<?php phpinfo(); ?>
  • このファイルをinfo.phpとして保存します。
  • このファイルを、サーバ上のウェブからアクセス可能なルートフォルダにアップロードします。
  • ブラウザでこのファイルを開きます。例:http://<server-name>/info.php

関連項目