PHPの設定

This page is a translated version of the page PHP configuration and the translation is 87% complete.
Outdated translations are marked like this.

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

MediaWikiとの互換性

どのバージョンの PHP でどのバージョンの MediaWiki を使用できるかの対応は、互換性#PHP を参照してください。

インストール

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

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

必須

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

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

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

省略可能

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

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

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

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

--with-mysqli=mysqlnd
Include MySQLi (MySQL improved) support. The MySQL native driver will be used when value is mysqlnd.
--with-pdo-mysql=mysqlnd
PDO: MySQL support. The native driver will be used when value is mysqlnd.
--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:パフォーマンス チューニング を参照してください

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

実行時設定 (php.ini)

php.iniの設定によっては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またはPHPのGDモジュールを使用することができます。 See Manual:Image administration#Image thumbnailing

関連項目