PHP-Einrichtung

From mediawiki.org
This page is a translated version of the page PHP configuration and the translation is 32% complete.

PHP ist ein Web-Vorlagen-System, das zufällig zu einer ziemlich vollständigen Programmiersprache herangewachsen ist. PHPs Syntax, Fähigkeiten und seine Ausführungsmodell haben Ähnlichkeiten mit Perl: Skripte werden von einem Interpreter geladen, in Bytecode übersetzt und dann ausgeführt. Der PHP-Interpreter kann aus einer Befehlszeile, über CGI, oder - am häufigsten - prozessintern als Apachemodul gestartet werden.

MediaWiki-Kompatibilität

Um die Liste von möglichen PHP-Versionen, die du mit deiner Version von MediaWiki verwenden kannst, anzuzeigen, klicke hier.

Installation

Bitte lies https://php.net/install.

Optionen zur Übersetzungszeit

Voraussetzungen

Die folgenden Erweiterungen werden von MediaWiki benötigt:

  • iconv character set conversion library
  • mbstring multibyte character string support
  • intl Unicode normalization
  • calendar Support for conversion between different calendars
  • Wenigstens ein Datenbanktreiber:

MySQL und PostgreSQL über PDO werden nicht unterstützt

Perl-kompatible reguläre Ausdrücke, Sitzungen, die Standard-PHP-Bibliothek und JSON sind von Anfang an aktiviert; Perl-kompatible reguläre Ausdrücke und die Standard-PHP-Bibliothek können ab PHP 5.3 nicht mehr deaktiviert werden.

Optionales

MediWiki braucht eine bestimmte Menge optionaler Funktionen von PHP, die zur Übersetzungszeit aktiviert sein müssen:

Beispiel

We are successfully working with these compiler options:

'./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' 

In detail, these configure options do the following:

--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
this is required if you want to build mod_php. APXS is for configuring compilation of an Apache module. You will need to change (or omit the path) for your specific system.
--with-zlib
Allows PHP to read / write zipped files and send compressed data to Apache ... or something like that
--with-ldap
Important if you want your wiki users to be verified by LDAP
--with-gd
Use this if you want image processing 'within' PHP, else you can use ImageMagick. Because this option requires that you have various libraries installed... but presumably IM has the same deps... oh well...
--with-jpeg-dir
Seems nonsensical
--with-iconv-dir
Seems nonsensical
--enable-mbstring
Allows multibyte character string support. This is optional, as slower custom code will be used if not available.

Opcode caching

Siehe Handbuch:Performance tuning

Due to MediaWiki's large codebase, it is highly recommended that a system be used to cache the compiled scripts; the opcache PHP extension can be used for this. PHP usually comes with this extension pre-installed and enabled.

Laufzeitkonfiguration (php.ini)

Some settings in php.ini affects MediaWiki behavior and some of them are incompatible with MediaWiki.

magic_quotes_gpc
This options adds quotes to data in $_GET, $_POST and $_COOKIES. MediaWiki can work with this option turned on, but will have to remove these quotes and thus will be slower.
magic_quotes_runtime
This option corrupts data input unpredictably by adding quotes in e.g. opened files, data received from database etc. MediaWiki will refuse to install if this option is turned on.
magic_quotes_sybase
same as magic_quotes_runtime
mbstring.func_overload
This option causes errors and may corrupt data unpredictably; MediaWiki will refuse to install if this option is turned on.
zend.ze1_compatibility_mode
This option causes horrible bugs; MediaWiki will refuse to install if this option is turned on.
memory_limit
MediaWiki needs sufficiently memory to work. The minimal limit should be something like 20 MB, but if you want MediaWiki to work correctly, consider using at least 50 MB.
disable_functions
To be able to find GNU diff3 and git during installation process this entry must not contain passthru
post_max_size
If you are getting the error "Der Inhalt des Bearbeitungsformulars hat den Server nicht vollständig erreicht. Bitte prüfe deine Bearbeitungen auf Vollständigkeit und versuche es erneut." then it could be because this is set with a "MB" prefix, instead of just "M" (the former is interpreted at bytes, not megabytes).

Image Resizing

ImageMagick or the GD PHP module can be used for image thumbnailing. See Manual:Image administration#Image thumbnailing

Siehe auch