PHPの設定

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page PHP configuration and the translation is 98% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

PHP とはウェブテンプレートのシステムで、いつのまにか一般的な使い方がされるようになったものです。PHP のシンタックス(構文)、能力、実行モデルはPerlとあまりにも似ており、「インタプリタ」を使って読み込んだスクリプトをバイトコードにコンパイルして実行します。一般的にPHPインタープリタは、コマンドライン、CGIスタイルあるいはインプロセスのApache HTTPサーバとして実行できます。

MediaWikiとの互換性

どのバージョンのPHPでどのバージョンのMediaWikiが動くかの対応については、対応表をご覧ください。

インストール

https://secure.php.net/install を参照してください。

コンパイル時のオプション

必須

MediaWikiを動作させるには、以下のPHP拡張が必要です。

MySQLやPostgreSQLのPDO経由でのアクセスについては未対応です

PCRE、セッション、SPL、JSONについてはデフォルトで有効であり、特にPHP 5.3以降ではPCREとSPLが必ず有効になっています。

省略可能

MediaWikiでは、PHPへコンパイル時に組み込むオプションについてもいくつか使おうとしますが、なくても動作は可能です。

これらのコンパイラオプションを使用して正常に作業しています:

'./configure' \
  '--with-mysql' \
  '--with-apxs2=/usr/sbin/apxs2' \
  '--with-zlib' \
  '--with-ldap' \
  '--with-gd' \
  '--with-jpeg-dir' \
  '--with-iconv-dir' \
  '--enable-mbstring' 

詳細には、これらの設定オプションは次のとおりです。

--with-mysql 
PHPに MySQL のクエリを許可。(私の意見としては)これは重要な機能です。MySQL をインストールしてこのオプションをご利用ください。
--with-apxs2=/usr/sbin/apxs2 
mod_php の構築に必要です。Apache モジュールの解析に APXS を使い、特定のシステムではパスの変更(除外)をします。
--with-zlib 
圧縮ファイルの読み書きを PHP に認め、圧縮ファイルを Apache ... やその他に送信させます
--with-ldap 
LDAP を使用してご利用のウィキのユーザー承認をする場合に重要です
--with-gd 
PHP '内で'画像処理をする場合に使い、それ以外であれば ImageMagick を採用します。このオプションには、さまざまなライブラリのインストールが前提であり... おそらくは ImageMagick も同様の深さがあるわけで... (訳注: 違いは不明瞭)...
--with-jpeg-dir 
無意味と判断
--with-iconv-dir 
無意味と判断
--enable-mbstring 
マルチバイトの文字列サポートを許可。これはオプションであり、もしサポートがない場合には処理の遅い特性のコードを使用します。

命令コードのキャッシュ

Manual:Performance tuningManual:Performance tuning を参照してください

MediaWikiのコードベースは大きいので、コンパイル後のスクリプトを何かしらの形でキャッシュすることを強く推奨します。PHPには無料から商用向けを含め、その種のキャッシュ用のプラグインがいくつかあります。以下に少し例示します:

幸い、これらはZendプラグインとなっていて、ライブラリを入れてphp.iniを設定するだけで簡単にインストールできます。PHP全体を再コンパイルするような手間はかかりません。

使用するキャッシュとオプションによっては、スクリプトファイルを更新するたびに特別な操作を実行する必要があります。

MediaWikiは、そのキャッシュとやりとりしてオブジェクトキャッシュに使用することもできます($wgMainCacheTypeManual:$wgMainCacheTypeを参照)。

実行時設定 (php.ini)

php.iniの設定によってはMediaWikiの動作が変化したり、あるいはまったく動かなくなってしまうようなことがあります。

register_globals
警告 警告: これを有効にしていると大きなセキュリティリスクを生み、XSS攻撃に使うこともできます。MediaWikiではonにする必要はありませんので、特段の事情がない限りoffとしてください。
safe_mode
セーフモードは発想も設計もよくない設定です。有効にしていてもMediaWikiは動かなくはないですが、一部に動かない機能が発生します。
magic_quotes_gpc
このオプションは、$_GET$_POST$_COOKIESに引用符を加えるというものです。有効でもMediaWikiは動作しますが、不要な引用符を削除しながらの動作となるので、その分遅くなります。
magic_quotes_runtime
このオプションを有効にしてしまうと、ファイルやデータベースから取得したデータなど、予期しないところに引用符を入れてデータを破壊してしまいます。有効にした状態では、MediaWikiのインストール自体も拒否されます。
magic_quotes_sybase
magic_quotes_runtime と同じです
mbstring.func_overload
このオプションはエラーの原因となり、またデータを破壊してしまう危険もあります。有効にした状態では、MediaWikiのインストール自体も拒否されます。
zend.ze1_compatibility_mode
このオプションが有効だと深刻なバグを引き起こします。有効にした状態では、MediaWikiのインストール自体も拒否されます。
memory_limit
MediaWikiの動作には、充分なメモリが必要です。最低限20MB程度あれば動作するかもしれませんが、きちんと動作させたいなら最低でも50MBのメモリを用意することが必要でしょう。
disable_functions
インストール中にGNU diff3やgitを検出するためには、passthruを指定してはいけません。
post_max_size
エラー「編集フォームの一部がサーバーに届きませんでした。ご確認の上、そのまま再度投稿してください。」が表示されている場合は、「M」の代わりに「MB」という接頭辞が設定されている可能性があります(後者はメガバイトではなくバイトで解釈される)。

画像のサイズ変更

画像のリサイズにImageMagickを使うこともできます。ImageMagickがない場合には、(あれば)PHPのGDを使います。

関連項目