Manual:Load.php

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Manual:Load.php and the translation is 80% complete.

Outdated translations are marked like this.
Other languages:
العربية • ‎dansk • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎中文

load.php は、ResourceLoader モジュールの読み込みにフックするフロントエンド向けのスクリプトです。

スタイルが表示されない

MediaWiki 1.18 以降に更新した利用者の多くが、ウィキがスタイルなしで表示されるという問題点に遭遇しました。CSS スタイルが適用されないシンプルなページが表示されました。すべてのスタイルがブラウザー既定のものになり、特別なスタイルは適用されません。

解決策:

この問題点は多くの場合、load.php の呼び出しが MediaWiki のメインの PHP ファイルにリダイレクトされてしまい、MediaWiki ページを返してしまうのが原因です。CSS スタイルを出力すべき場合でもページを返すのです。

問題点を解決するために、.htaccess ファイルに RewriteCond および RewriteRule を追加してください。.htaccess を変更するのは、load.php (や api.php) の呼び出しが rewrite されない ようにするためです。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (api|load)\.php - [L]
...

これにより、load.php が正しいコンテンツを返すようになり、ウィキのスタイルが適切なものになります。

その他の起こりうる問題についてはこちらを参照: Manual:Errors and symptoms#The wiki appears without styles applied and images are missing

"Sessions are supposed to be disabled for this entry point"

Code executed via load.php should not rely on the user's session as its results will be cached and sent to other users. Starting from MW 1.28, this is enforced and a "Sessions are supposed to be disabled for this entry point" exception will be thrown if a session access is attempted. 修正する方法はこちらのヒントを参照してください。

詳細

まず、PHP のバージョンが 5.5.9 以降であることを確認してから、WebStart.phpManual:WebStart.php を include します。次に、ResourceLoader オブジェクトを作成して、そのオブジェクトの respond() メソッドを呼び出します。このメソッドでは、指定したリソースの内容を、Content-Type ヘッダーと共に出力します。

load.php スクリプトの場所のカスタマイズは、$wgLoadScriptManual:$wgLoadScript を使用してください。