Configuration 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 100% complete.
Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

PHP est un système de pages web qui s'est développé accidentellement au sein d'un langage général assez raisonnable. La syntaxe de PHP, ses fonctionnalités et son modèle d'exécution présentent de vagues similitudes avec Perl ; les scripts sont chargés par un interpréteur, compilés en bytecode puis exécutés. L'interpréteur PHP peut être lancé en ligne de commande, au format CGI ou plus communément comme un module intégré de Apache.

Compatibilité MediaWiki

Voir les versions de PHP compatibles avec votre version de MediaWiki sur Compatibility#PHP

Installation

Veuillez voir https://secure.php.net/install.

Options de compilation

Requis

Les extensions suivantes sont nécessaires à MediaWiki :

MySQL et PostgreSQL via PDO ne sont pas compatibles

Perl Compatible Regular Expressions, Session, Standard PHP Library et JSON sont activés par défaut ; Perl Compatible Regular Expressions et Standard PHP Library ne peuvent pas être désactivées à partir de la version 5.3 de PHP.

Facultatif

MediaWiki nécessite ou demande que certaines fonctionnalités facultatives de PHP soient activées à la compilation :

Exemple

Nous travaillons avec succès avec ces options de compilation :

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

De manière détaillée, ces options de configuration procèdent comme suit :

--with-mysql 
permet à PHP d'interroger MySQL. Cette fonctionnalité est essentielle (à mon sens). L'installation de MySQL est un préalable à l'activation de cette option.
--with-apxs2=/usr/sbin/apxs2 
ceci est nécessaire si vous souhaitez construire mod_php. APXS sert à configurer la compilation d'un module Apache. Vous modifierez (ou omettrez) le chemin selon votre système.
--with-zlib 
permet à PHP de lire / écrire des fichiers compressés au format Zip et d'envoyer des données compressées à Apache... ou quelque chose de semblable
--with-ldap 
important si vous souhaitez que les utilisateurs de votre wiki puissent s'authentifier avec LDAP
--with-gd 
à utiliser si vous souhaitez un traitement d'image 'au sein de' PHP ; autrement vous pouvez utiliser ImageMagick (IM). Cette option nécessite l'installation de diverses bibliothèques... cela dit, IM présente a priori les mêmes dépendances...
--with-jpeg-dir 
ne semble pas sensée
--with-iconv-dir 
ne semble pas sensée
--enable-mbstring 
permet la prise en charge des chaines de caractères à codage multi-octet. Cette option est facultative dans le sens où du code personnalisé moins performant sera utilisé si elle n'est pas disponible.

Mise en cache Opcode

Voir Manual:Performance tuning

Du fait du grand volume de la base de code de MediaWiki, il est fortement recommandé d'utiliser un système qui assure la mise en cache des scripts compilés ; des plugins existent pour PHP, certains sont libres, d'autres propriétaires. Voici une liste de caches :

Heureusement, ceux-ci semblent tous faciles à installer comme plugins Zend. Il suffit de les glisser dans une bibliothèque et de modifier le fichier de configuration php.ini. Nul besoin de recompiler entièrement PHP !

En fonction du cache et des options utilisés, vous devrez peut-être effectuer une opération particulière lors de la mise à jour des fichiers de script.

MediaWiki peut également interagir avec ces caches et les utiliser pour la mise en cache d'objets. Voir $wgMainCacheType .

Configuration à l'exécution (php.ini)

Certains paramètres dans php.ini modifient le comportement de MediaWiki tandis que d'autres ne sont pas compatibles avec lui

register_globals
Avertissement Avertissement : L'activer représente un risque majeur de sécurité et peut être détourné pour des attaques XSS ; MediaWiki n'en a pas besoin, aussi désactivez-le si vous le pouvez !
safe_mode
le mode Safe est une configuration mal élaborée et défaillante par conception dans PHP ; MediaWiki peut fonctionner avec cette option activée, mais certaines fonctionnalités ne seront pas disponibles.
magic_quotes_gpc
Cette option ajoute des guillemets aux données dans les directives $_GET, $_POST et $_COOKIES. MediaWiki peut fonctionner avec cette option activée, mais sera plus lent car il doit retirer ses guillemets.
magic_quotes_runtime
Cette option corrompt les entrées de données de manière imprévisible en ajoutant des guillemets, par exemple dans les fichiers ouverts, aux données reçues à partir d'une base de données, etc. MediaWiki refusera d'être installé si cette option est activée.
magic_quotes_sybase
même chose qu'avec magic_quotes_runtime
mbstring.func_overload
Cette option engendre des erreurs et est susceptible de corrompre les données de manière imprévisible ; MediaWiki refusera d'être installé si cette option est activée.
zend.ze1_compatibility_mode
Cette option engendre des bogues désastreux ; MediaWiki refusera d'être installée si cette option est activée.
memory_limit
MediaWiki requiert suffisamment de mémoire pour fonctionner. Le seuil minimum devrait être proche de 20 Mo, mais si vous voulez que MediaWiki fonctionne correctement, alors il faut envisager d'utiliser au moins 50 Mo.
disable_functions
De manière à trouver les programmes GNU diff3 et git durant la phase d'installation, cette entrée ne doit pas contenir passthru
post_max_size
Si l'erreur "Certaines parties du formulaire de modification n’ont pas atteint le serveur, vérifiez que vos modifications sont intactes et essayez à nouveau." survient, alors un préfixe "MB" (Mo) est probablement configuré à la place d'un simple "M" (le précédent est interprété comme octets, et non méga-octets).

Redimensionnement d'image

ImageMagick peut être utilisé pour redimensionner une image. Quand il n'est pas disponible, le module PHP GD est utilisé à la place s'il est trouvé.

Voir aussi