Le Codex ne mentionne que vaguement la version de PHP dans les exigences du serveur. Cependant, PHP peut être configuré dans un assez grand nombre de parties exclues / incluses.
Quelles sont les extensions / librairies qui:
- sont nécessaires pour que WP fonctionne? MySQL ...
- sont nécessaires pour des fonctions spécifiques? GD? ...
- sont préférés pour un meilleur fonctionnement de fonctions spécifiques? boucle...
- sont couramment utilisés par les plugins? Zip *: français...
Réponses:
J'ai réfléchi davantage à cette question et vu la taille de la base de code WP (y compris les bibliothèques regroupées), il ne semble pas très réaliste de compiler manuellement cette liste (et de la répéter à chaque nouvelle version - meh).
J'ai cherché l'outil d'analyse de code statique approprié - PHP_CompatInfo et après quelques retouches générées qui suivent le rapport des extensions utilisées par le noyau (version scannée 3.3.1):
cURL - 127 utilisations (nécessite libcurl )
WP_Http_curl
)url_is_accessable_via_ssl()
SimplePie(remplacé par la classeWP_SimplePie_File
)GoogleSpell(du package TinyMCE, n'est-il pas utilisé?)Date / heure - 367 utilisations
DOM - 6 utilisations (nécessite libxml )
iis7_rewrite_rule_exists()
iis7_delete_rewrite_rule()
iis7_add_rewrite_rule()
saveDomDocument()
POSIX Regex - 23 utilisations
Filtre - 2 utilisations
PHPMailer->ValidateAddress()
(optionnel)FTP - 72 utilisations
ftp_base
ftp
( versions pure et sockets )WP_Filesystem_FTPext
WP_Filesystem_ftpsockets
GD - 56 utilisations
wp-admin\includes\image-edit.php
wp-admin\includes\image.php
wp-includes\media.php
Hash - 6 utilisations
wp-includes\pluggable.php
usages multiples (facultatif - repli danswp-includes\compat.php
)iconv - 5 utilisations
SimplePie
(optionnel)wp_check_invalid_utf8()
(optionnel)wp-mail.php
(optionnel)JSON - 20 utilisations
wp-includes/compat.php
libxml - 4 utilisations
WP_oEmbed->_parse_xml()
(optionnel)Chaîne multi-octets - 29 utilisations
wp-includes/compat.php
MySQL - 60 utilisations
wpdb
classe(remplacé avec classeSimplePie_Cache
WP_Feed_Cache
)OpenSSL - 4 utilisations
PHPMailer
PCRE - 743 utilise
SimpleXML - 1 utilisations
WP_oEmbed
(semble optionnel)Douilles - 64 utilisations
ftp
(sockets
implémentation)SPL - 3 utilisations
Tokenizer - 3 utilisations
wp_doc_link_parse()
(optionnel)Analyseur XML - 89 utilisations
XMLReader - 1 utilisations
Zlib - 30 utilisations
la source
La réponse à cette question pourrait être compliquée et très longue. Autant que je sache, il y aura également des différences entre les serveurs et le système d'exploitation (IIS, Apache). Je ne peux pas dire que la liste suivante est une liste COMPLÈTE, mais elle comprend certains de ceux que je connais qui sont nécessaires:
Curl et CurlSSL - Pas sûr que ce soit REQUIS, mais une grande partie du code WordPress l'utilisera s'il est disponible. De nombreux plugins en ont cependant besoin et / ou auront des fonctions limitées sans lui.
Exif - permet au gestionnaire de média de WordPress d'extraire des données Exif des images.
Gettext - .po .mo gestion de l'internationalisation de la traduction traduction
FTP - utilisé pour effectuer les mises à niveau du plugin et de WordPress via FTP.
GD - Pas besoin d’introduction, non?
Iconv - conversions de jeux de caractères pour tout, du courrier à l'analyse RSS.
Mbregex et Mbstring - le nom est assez descriptif - fournissent des fonctions utilisées dans tous les sens :-)
Mcrypt - Pas nécessaire pour wordpress, mais de nombreux plugins en ont besoin.
Mime Magic - Désapprouvé maintenant dans wordpress - mais il est toujours bon d'avoir une compatibilité avec le dos.
* Mysql et Mysql du système * - nous savons tous ce que c'est et pourquoi c'est nécessaire, non?
Openssl - Cette bibliothèque est utilisée pour gérer les connexions de traitement cryptées avec des certificats SSL pour WordPress afin de pouvoir se connecter à n’importe quel emplacement crypté SSL (https).
POSIX - utilisé pour garantir que WordPress conserve correctement les autorisations et les propriétés des fichiers.
Path Info Check - certaines configurations permalien.
Pspell - capacités de vérification orthographique de TinyMCE ,.
Sockets - gestion des connexions FTP et gestion du courrier AKA SMTP et POP dans WordPress.
Zip - Vous n'êtes pas sûr de OBLIGER - mais cette classe de création et d'extraction de fichiers zip compatible multi-plateforme sera utilisée par wordpress si elle est disponible.
Zlib - Utilisé dans de nombreux cas. exemple - compression de fichiers js et css. Encore une fois, je ne sais pas si REQUIS, mais nécessaire.
Comme indiqué ci-dessus - il ne s'agit en aucun cas d'une liste PLEINE - elle a été compilée il y a environ un an - et pourrait avoir besoin d'une mise à jour. Beaucoup de ces fonctions ne sont pas exactement OBLIGATOIRES mais RECOMMANDÉES . Dans de nombreux cas, wordpress utilisera une fonction SI elle est disponible et sinon, ignorera la tâche. Un bon exemple est le manque de librairie GD, cela n'empêchera pas wordpress de fonctionner, mais il ne coupera pas, ne redimensionnera pas et ne modifiera pas les images téléchargées - laissant ainsi l'original (et grisant l'option "taille" dans l'insertion image à poster "fonction) ..
En remarque - je dirais également que cette question obtiendra probablement des réponses plus correctes / mises à jour sur serverfault.com qu'ici ...
la source
( Ceci n'est pas censé être une réponse. Juste quelques informations utiles. Si vous pensez que ces informations ne sont pas utiles, faites-le-moi savoir, je vais simplement les supprimer.)
Je pense que parler des paquets serait plus facile pour les débutants, mais comme les paquets varient d’un système à l’autre, il est difficile de tous les couvrir.
Comme j'ai de l'expérience avec les distributions Debian (et celles basées sur Debian), j'aimerais partager ces informations spécifiques:
Les packages susmentionnés installent toutes les extensions / bibliothèques / modules mentionnés dans les autres réponses; tout, sauf Mime Magic, qui n’est plus requis par WordPress .
Un autre bon moyen de vous assurer que votre serveur est compatible à 100% avec WordPress est de vérifier quels packages les sociétés d’hébergement gérées sont livrées pré-installées. Comme ils ont des années d'expérience dans le traitement des plaintes des clients concernant des incompatibilités, ils le sauront mieux.
Dans le cas de Hostgator , les modules PHP qu’ils préinstallent incluent (vous n’en aurez probablement besoin que de la plupart, mais pas de tous):
Media Temple fournit un
phpinfo();
fichier pour vous permettre de vérifier leur configuration. C'est utile à des fins de comparaison aussi.la source
Si vous voulez un moyen facile de vérifier si votre serveur répond à ces exigences, une commande pratique WP-CLI ext vous le permet maintenant .
wp ext required
montre toutes les extensions PHP nécessaires pour exécuter WordPress, toutwp ext recommended
montre en option les.wp ext check
est une combinaison des deux commandes.Celles-ci sont pratiques lorsque vous avez besoin d’un moyen rapide de vérifier la configuration système requise sur un nouveau serveur et / ou si vous souhaitez traiter ultérieurement cette liste par programme.
Voici comment ça
wp ext required
marche:la source
J'ai développé mon vérificateur d'environnement WordPress. C'est une classe simple, fonctionnant sur le Web SAPI ou sur le CLI. Ceci est la version maintenue https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php
Basé sur le travail de @rarst
la source
Si vous utilisez Debian 7 (Debian Wheezy), vous devez installer PHP lui-même et un petit nombre d'extensions. La plupart de ce qui a été mentionné par @Rarst est déjà inclus avec l'une des installations PHP les plus élémentaires de Debian.
PHP
Vous avez quatre options dans Debian Wheezy: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi ou php5-fpm . Je choisis php5-fpm mais tout dépend de la manière dont vous voulez que votre serveur web et PHP interagissent.
MySQL
Vous avez également besoin de PHP pour utiliser MySQL. Vos options sont php5-mysql et php5-mysqlnd . php5-mysqlnd est natif et généralement plus rapide. Certains pourraient choisir une alternative comme MariaDB.
Bibliothèque graphique en option
Si vous souhaitez redimensionner vos images, vous pouvez installer php5-gd ou php5-imagick . php5-imagick vous donnera une meilleure qualité et Wordpress l'utilisera s'il est disponible. Si les deux sont installés, php5-imagick sera utilisé. Si aucun des deux n'est installé, les images ne seront pas redimensionnées (et Wordpress ne se plaindra pas).
HTTP facultatif
Si vous installez php5-curl , il sera utilisé mais n’est requis que pour de meilleures performances.
Wordpress et la plupart des extensions ne requièrent rien d’autre, bien que certaines extensions puissent avoir d’autres exigences.
Voici la ligne d’installation de base complète pour donner à Wordpress tout ce dont il a besoin pour des performances optimales et rien d’autre:
la source
Il est à noter que depuis WordPress 5.2, il existe une fonctionnalité intégrée qui rend compte des modules manquants. Trouvez-le dans Outils> Santé du site.
la source
Une petite "feuille de calcul" lors de l'installation de PHP pour Wordpress sur Debian:
0. Ajouter le référentiel dotdeb
Ajoutez ces deux lignes à votre
/etc/apt/sources.list
fichier:Ajoutez la clé GPG:
Mettre à jour la "liste de paquets":
1. Installez PHP 7:
Source: http://php.net/manual/en/install.unix.debian.php
2. Liste des modules inclus dans le package "php7.0-common":
Source: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Pour installer les modules supplémentaires requis / recommandés par wordpress:
Source: https://wordpress.stackexchange.com/a/42141/107878
4. Je n'ai pas trouvé ce qui suit sur debian:
5. "apt-cache search php7" renvoie:
Référence: https://packages.debian.org/source/sid/php7.0
la source
Le manuel WordPress répertorie maintenant les modules PHP recommandés:
Il liste également les extensions PHP suivantes comme étant optionnelles:
la source
mod_xml
a à voir avec quoi que ce soit puisque Core n'implémente ni les sitemaps XML ni n'est lié à l'exécution sur un serveur Web spécifique.vous avez besoin des extensions mysqli, pdo et gd. et parfois xml-rpc.
J'utilise WP avec l'extension native mysqlnd depuis un moment maintenant, c'est plutôt chouette. Des éléments de réflexion sont intégrés. Par conséquent, si vous souhaitez savoir ce qui se passe avec la base de données dans cette requête spécifique, vous pouvez le faire.
zip comme extension n'est pas nécessaire, la plupart des programmes appellent l'exécutable zip du système.
la source