PHPの設定と動作確認

 Apacheが利用しているPHPの設定を確認するには,[サイト管理]メニュー内の[サーバ]-[PHP情報]を選択して下さい.環境変数などの値が表示されます.
internal://xampp35.jpg .

(1)php.iniファイルの位置の確認
 PHPの設定は,php.iniファイルで変更できます.このファイルの存在する場所は,Configuration File (php.ini) Pathの項目を見て下さい.
C:\xampplite\apache\bin\php.ini
になっていることを確認して下さい.

(2)代表的なパラメータの説明と推奨する変更値
 ノートパッド(メモ帳)などのテキストエディタを用いて,C:\xampplite\apache\bin\php.iniを開いて以下の修正を行って下さい.なお,設定項目や設定値はここで示した設定がベストであるとは限りません.各人でサーバの状態をチェックし,資料を調べてチューニングアップして下さい.

(a) max_execution_time
PHPスクリプトの実行が強制終了されるまでに許容される時間(秒).
max_execution_time = 60 ;
初期値は60秒ですが,バックアップなどの時間の掛かる処理に影響があるので,90秒あるいは120秒程度まで伸ばすことを勧めます.

(b) memory_limit
 PHPが利用可能な主記憶の最大サイズを指定します.
 デフォルトではmoodle1.8で推奨される最低値である40Mに設定されています.メモリに余裕がある場合は増やした方が良いでしょう.
(特に,PHPを新規にインストールした場合は16Mのように低い数値が設定されている場合があります.)

(c) post_max_size と upload_max_filesize
  それぞれ,POSTの際のデータ送信の最大サイズとアップロードできるファイルサイズの上限値です.初期値は16Mです.これらの値を大きな値に変更することでMoodleにアップロードできるファイルサイズの上限を変更でききます(たとえば100Mで100MB).Moodleの設定により,コースごと にアップロード可能なファイルサイズの上限値を指定できますし,フォーラム等の添付ファイルのサイズの上限値も自由に設定できますので,思い切って大 きな値を設定した方が良いでしょう.upload_max_filesize < post_max_size < memory_limitとなるように設定する必要があります.

(d) mbstring
PHPでマルチバイト文字を処理する際の設定です.
この設定は比較的重要ですので,なるべく早い段階で設定して下さい.
mbstring.Xlanguage= Japanese コメント記号を取り除いて下さい.
mbstring.internal_encoding = UTF-8 コメント記号を取り除き,EUC-JP を UTF-8に変更して下さい.
;mbstring.http_input = auto そのままで構いません.
mbstring.http_output = UTF-8 コメントを取り除き,SJISをUTF-8に変更して下さい.
mbstring.encoding_translation = On コメントを取り除き,OffをOnに変更して下さい.
;mbstring.detect_order = auto そのままで構いません.
;mbstring.substitute_character = none そのままで構いません.
mbstring.func_overload = 0 そのままでも構いませんが,安全のためにコメントを取り除いて下さい.この値を0以外の値に変更すると誤動作します.

(e) eAccelerator
 PHP はインタプリター言語です.クライアントからリクエストを受けてPHPスクリプトを実行するたびにPHPソースプログラムを中間言語に変換して実行します.もし,ソースリストに変更がない場合はこの処理をキャッシュすることでPHPのレスポンスを高速化できます.xamppliteにはZend社の eAcceleratorというPHPアクセラレータが標準で組み込まれていますが,初期状態では無効化されています.
extension="eaccelerator.dll"
eaccelerator.shm_size = "0"
eaccelerator.cache_dir = "C:\xampplite\tmp"
eaccelerator.enable = "1"
eaccelerator.optimizer = "0"
eaccelerator.debug = "0"
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_Xonly= "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
;eaccelerator.admin.name =
;eaccelerator.admin.password =
  最後の2行(admin.nameとadmin.password)以外のコメントを外すと機能が有効になります.optimizerを0から1に変更す ることでさらに効率が上がる可能性もあります.キャッシュされたデータはcache_dirで指定しているフォルダに作成されます.もし,Moodleへ のアクセスを繰り返してもこのtmpフォルダ以下にデータファイルが作成されない場合は正しく動作していない可能性があります.

 なお,eAcceleratorはPHPのバージョンに依存しています.(マイナーバージョンにも) したがって,もしご自身でPHPのバージョンアップを行う場合は,eAcceleratorも変更する覚悟が必要です.eAcceleratorの開発は ソースリストで行われており,Windows用のバイナリ(eaccelerator.dll)は自分でコンパイルして作成する必要があります.なお,コ ンパイル済みのバイナリを公開しているWebサイトもいくつかあるようです.まずは自分がアップデートしようと考えているPHPのバージョンに該当する eAcceleratorが存在することを確認することを勧めます.
例) http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds

(3)Apache(およびMySQL)の再起動
 変更したPHPの設定を有効にするにはApacheを再起動する必要があります.もし,xamppliteのセットアップ?C:\xampplite\xampp_restart.exeを実行してMySQLとApacheを起動したのであれば,何かキーボードのキーを押してサーバプログラムを停止させて下さい(コマンドプロンプトも閉じると思います).
 C:\xamppliteフォルダ内にあるxampp-control.exeを起動して下さい.XAMPP-Control Panelが開き,ApacheのおよびMySQLの[Start]をクリックして下さい.ApacheおよびMySQLが再起動します.Runningが点灯したら再起動成功です.
 [管理メニュー]内の[サーバ]-[PHP情報]を確認(リロード)して下さい.上記の変数が変更されていることと,ZendEngine2のロゴの下に,"with eAccelerator v0.9.5"の表示が追加されていればOKです.
internal://xampp36.jpg

(4)php.iniファイルのコピー
C:\xampplite\apache\bin中のphp.iniファイルを安全のために,C:\xampplite\phpフォルダにも上書きコピーして下さい.


(次へ: config.phpおよびfs_converter.phpの設定
作業手順に戻る)


[一つ前のページに戻る] [サイトマップに戻る]