Quels sont les extensions et les bibliothèques PHP nécessaires et / ou utilisées par WP?


79

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:

  1. sont nécessaires pour que WP fonctionne? MySQL ...
  2. sont nécessaires pour des fonctions spécifiques? GD? ...
  3. sont préférés pour un meilleur fonctionnement de fonctions spécifiques? boucle...
  4. sont couramment utilisés par les plugins? Zip *: français...

Savez-vous qu'il y a une erreur SSL sur votre site ( queryposts.com )?
Je suis la personne la plus stupide le

@IamtheMostStupidPerson merci, le renouvellement automatisé du certificat avait échoué pour une raison quelconque, devrait être corrigé maintenant.
Rarst

Pas de soucis, c'est Let's Encrypt. n'est-ce pas? Je pensais qu'il se renouvellerait automatiquement ... Au cas où ce ne serait pas automatiquement le cas, que pouvons-nous faire?
Je suis la personne la plus stupide le

Le support de l'hébergement de @IamtheMostStupidPerson l'avait réinitialisé (il avait été configuré via leur intégration), il est normalement renouvelé automatiquement pour moi.
Rarst

Extrêmement difficile à trouver, mais il existe une recommandation officielle: make.wordpress.org/hosting/handbook/handbook/server-environment/…
aidanh010

Réponses:


90

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 )

    • API HTTP (classe WP_Http_curl)
    • url_is_accessable_via_ssl()
    • SimplePie (remplacé par la classe WP_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

    • classe PHPMailer->ValidateAddress()(optionnel)
  • FTP - 72 utilisations

    • classe ftp_base
    • classe ftp( versions pure et sockets )
    • classe WP_Filesystem_FTPext
    • classe 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.phpusages multiples (facultatif - repli dans wp-includes\compat.php)
  • iconv - 5 utilisations

    • classe SimplePie(optionnel)
    • wp_check_invalid_utf8() (optionnel)
    • wp-mail.php (optionnel)
  • JSON - 20 utilisations

    • optionnel, repli dans wp-includes/compat.php
  • libxml - 4 utilisations

    • classe WP_oEmbed->_parse_xml()(optionnel)
    • SimplePie
  • Chaîne multi-octets - 29 utilisations

    • un peu de repli dans wp-includes/compat.php
  • MySQL - 60 utilisations

    • classe wpdb
    • classeSimplePie_Cache (remplacé avec classe WP_Feed_Cache)
  • OpenSSL - 4 utilisations

    • classe PHPMailer
  • PCRE - 743 utilise

  • SimpleXML - 1 utilisations

    • classe WP_oEmbed(semble optionnel)
  • Douilles - 64 utilisations

    • classe ftp( socketsimplémentation)
  • SPL - 3 utilisations

  • Tokenizer - 3 utilisations

    • wp_doc_link_parse() (optionnel)
  • Analyseur XML - 89 utilisations

  • XMLReader - 1 utilisations

    • SimplePie (semble optionnel)
  • Zlib - 30 utilisations


4
Excellente ressource. Heureusement, la plupart des extensions et des bibliothèques ci-dessus sont maintenant compilées par défaut avec PHP 5.2.4 et les versions ultérieures.
Chris_O

@Chris_O aussi longtemps que les valeurs par défaut sont suivies ... Il a été dit à plusieurs reprises par l'équipe principale qu'il y a quelques étranges configurations PHP dans la nature. Ce qui m'a poussé à poser cette question, c’est que VPS a été acheté au travail par un nouveau fournisseur d’hébergement et que, de manière inattendue, sa configuration était minimale, avec certaines extensions typiques manquantes. Il serait plus pratique de fournir une assistance avec une telle liste de contrôle des extensions, puis de découvrir et de leur demander d’être installées une par une.
Rarst

Quelle lib est utilisée pour décompresser des thèmes et des plugins?
Jgraup

1
@jgraup ZipArchive ou PclZip voir les fonctions unzip associées queryposts.com/?s=unzip_file
Rarst

1
Avec la v4.7 et la nouvelle vignette / prévisualisation PDF native, votre serveur a besoin de la prise en charge de Imagick, ImageMagick et Ghostscript.
j08691

26

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


Pourquoi n'est-ce pas un endroit sur le site Web de Wordpress?
Tadej

13

( 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:

  • php5-cli
  • php5-dev
  • php5-fpm
  • php5-cgi
  • php5-mysql
  • php5-xmlrpc
  • php5-curl
  • php5-gd
  • php-apc (non requis, mais recommandé)
  • php-pear
  • php5-imap
  • php5-mcrypt
  • php5-pspell

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):

Modules PHP préinstallés par Hostgator

Media Temple fournit un phpinfo();fichier pour vous permettre de vérifier leur configuration. C'est utile à des fins de comparaison aussi.


Qu'est-ce que WP a besoin de php5-cli, php5-dev, (php5-fpm & php5-cgi), php5-pear, php5-imap et php5-pspell pour? Votre approche semble être de simplement tout installer et c'est une mauvaise. De même que l’idée que vous devriez imiter les environnements d’hébergement partagé si vous avez le contrôle de votre installation. En outre, vous devez choisir un moyen d’exécuter PHP (FastCGI ou CGI), mais pas les deux.

En plus de la version (php5), c’est la meilleure réponse ici. Voté!
GerardJP

8

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 requiredmontre toutes les extensions PHP nécessaires pour exécuter WordPress, tout wp ext recommendedmontre en option les. wp ext checkest 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 requiredmarche:

$ wp ext required
+-----------+-----------+
| extension | installed |
+-----------+-----------+
| curl      | 1         |
| date      | 1         |
| dom       | 1         |
| filter    | 1         |
| ftp       | 1         |
| gd        | 1         |
| hash      | 1         |
| iconv     | 1         |
| json      | 1         |
| libxml    | 1         |
| mbstring  | 1         |
| mysqli    | 1         |
| openssl   | 1         |
| pcre      | 1         |
| posix     | 1         |
| SimpleXML | 1         |
| sockets   | 1         |
| SPL       | 1         |
| tokenizer | 1         |
| xml       | 1         |
| xmlreader | 1         |
| zlib      | 1         |
+-----------+-----------+
Success: All required extensions are installed

7

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

<?php
/**
 * Check PHP environment.
 *
 * Usage through a webserver
 *     wget -q -O - "https://example.com/php-env-check.php"; echo
 * Usage on CLI
 *     php /path/to/php-env-check.php
 *
 * @package php-env-check
 * @version 0.2.0
 * @author Viktor Szépe <viktor@szepe.net>
 */

namespace O1;

// Local access only
if ( php_sapi_name() !== 'cli' && $_SERVER['REMOTE_ADDR'] !== $_SERVER['SERVER_ADDR'] ) {
    header( 'Status: 403 Forbidden' );
    header( 'HTTP/1.1 403 Forbidden', true, 403 );
    header( 'Connection: Close' );
    exit;
}

// Remove cached version of this file
if ( function_exists( 'opcache_invalidate' ) ) {
    opcache_invalidate( __FILE__ );
}

// Check environment
$check = new Check_Env();
$status = empty( $check->errors );

// Display report and exit
print json_encode( $check->errors );
exit( $status ? 0 : 1 );

/**
 * Check PHP configuration.
 */
final class Check_Env {

    /**
     * List of errors.
     */
    public $errors = array();

    /**
     * Run the checks.
     *
     * @param void
     */
    public function __construct() {

        // Extensions for WordPress on PHP 7.0
        // http://wordpress.stackexchange.com/a/42212

        // Engine version
        $this->assert( 'php', 70013, PHP_VERSION_ID );

        // Core directives
        $this->assert_directive( 'expose_php', '' );
        $this->assert_directive( 'allow_url_fopen', '' );
        $this->assert_directive( 'mail.add_x_header', '' );
        $this->assert_directive( 'realpath_cache_size', '64k' );
        $this->assert_directive( 'max_execution_time', '30' );
        $this->assert_directive( 'memory_limit', '128M' );
        $this->assert_directive( 'max_input_vars', '1000' );
        $this->assert_directive( 'post_max_size', '4M' );
        $this->assert_directive( 'upload_max_filesize', '4M' );

        // Compiled in Extensions
        // php -n -m | paste -s -d " "
        // Core date filter hash libxml openssl pcntl pcre Reflection session SPL standard zlib
        $this->assert_extension( 'date' );
        $this->assert_directive( 'date.timezone', 'Europe/Budapest' );
        $this->assert_extension( 'filter' );
        $this->assert_extension( 'hash' );
        $this->assert_extension( 'openssl' );
        $this->assert_extension( 'pcre' );
        $this->assert_extension( 'SPL' );
        $this->assert_extension( 'zlib' );

        // Common Extensions
        // dpkg -L php7.0-common | sed -n -e 's|^/usr/lib/php/\S\+/\(\S\+\)\.so$|\1|p' | paste -s -d " "
        // ctype iconv gettext tokenizer sockets pdo sysvsem fileinfo posix exif sysvmsg phar ftp calendar sysvshm shmop
        $this->assert_extension( 'ctype' ); // wp-includes/ID3/getid3.lib.php
        $this->assert_extension( 'posix' );
        $this->assert_extension( 'exif' ); // wp-admin/includes/image.php
        $this->assert_extension( 'ftp' );
        $this->assert_extension( 'gettext' ); // _()
        $this->assert_extension( 'iconv' );
        $this->assert_extension( 'mbstring' );
        $this->assert_extension( 'sockets' );
        $this->assert_extension( 'tokenizer' );

        // php7.0-json
        $this->assert_extension( 'json' );
        // php7.0-intl
        $this->assert_extension( 'intl' );
        // php7.0-xml
        // wddx xml simplexml xmlwriter xmlreader dom xsl
        $this->assert_extension( 'xml' );
        $this->assert_extension( 'SimpleXML' );
        $this->assert_extension( 'xmlreader' );
        $this->assert_extension( 'dom' );
        // php7.0-curl
        $this->assert_extension( 'curl' );
        // php7.0-gd
        $this->assert_extension( 'gd' );
        // php7.0-mysql
        // mysqlnd mysqli pdo_mysql
        // WP_USE_EXT_MYSQL will use mysqli through mysqlnd (no PDO)
        $this->assert_extension( 'mysqlnd' );
        $this->assert_extension( 'mysqli' );
        // php7.0-opcache
        $this->assert_extension( 'Zend OPcache', 'ext.opcache' );
        $this->assert_directive( 'opcache.restrict_api', '/home/prg123' );
        $this->assert_directive( 'opcache.memory_consumption', '256' );
        $this->assert_directive( 'opcache.interned_strings_buffer', '16' );
        $this->assert_directive( 'opcache.max_accelerated_files', '10000' );

        // Deprecated Extensions
        $this->assert_disabled_extension( 'mcrypt' );
        $this->assert_disabled_extension( 'mysql' );

        // Disabled Extensions
        // calendar fileinfo pcntl PDO pdo_mysql Phar readline
        // shmop sysvmsg(System V messages) sysvsem(System V semaphore) sysvshm(System V shared memory) wddx xmlwriter xsl

        $this->assert_disabled_extension( 'calendar' );
        $this->assert_disabled_extension( 'fileinfo' );
        $this->assert_disabled_extension( 'pcntl' );
        $this->assert_disabled_extension( 'PDO' );
        $this->assert_disabled_extension( 'pdo_mysql' );
        $this->assert_disabled_extension( 'Phar' );
        $this->assert_disabled_extension( 'readline' );
        $this->assert_disabled_extension( 'shmop' );
        $this->assert_disabled_extension( 'sysvmsg' );
        $this->assert_disabled_extension( 'sysvsem' );
        $this->assert_disabled_extension( 'sysvshm' );
        $this->assert_disabled_extension( 'wddx' );
        $this->assert_disabled_extension( 'xmlwriter' );
        $this->assert_disabled_extension( 'xsl' );
        // php7.0-sqlite3
        // pdo_sqlite sqlite3
        $this->assert_disabled_extension( 'pdo_sqlite' );
        $this->assert_disabled_extension( 'sqlite3' );

        // 3rd-party Extensions

        // php7.0-redis
        $this->assert_extension( 'igbinary' );
        $this->assert_extension( 'redis' );

        // Not for WordPress

        // Session
        $this->assert_directive( 'session.gc_maxlifetime', '1440' );
    }

    /**
     * Simple assert.
     *
     * @param $id string       Assert ID
     * @param $expected string Expected value
     * @param $result string   Current value
     */
    private function assert( $id, $expected, $result ) {

        if ( $expected !== $result ) {
            $this->errors[ $id ] = $result;
        }
    }

    /**
     * Assert for a PHP extension.
     *
     * @param $extension_name string Extension name
     * @param $id string             Optional assert ID
     */
    private function assert_extension( $extension_name, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = 'ext.' . $extension_name;
        }
        $this->assert( $id, true, extension_loaded( $extension_name ) );
    }

    /**
     * Negative assert for a PHP extension.
     *
     * @param $extension_name string Extension name
     * @param $id string             Optional assert ID
     */
    private function assert_disabled_extension( $extension_name, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = '!ext.' . $extension_name;
        }
        $this->assert( $id, false, extension_loaded( $extension_name ) );
    }

    /**
     * Assert for a PHP directive.
     *
     * @param $directive_name string Directive name
     * @param $expected string       Expected value
     * @param $id string             Optional assert ID
     */
    private function assert_directive( $directive_name, $expected, $id = '' ) {

        // Automatic ID
        if ( '' === $id ) {
            $id = $directive_name;
        }
        $this->assert( $id, $expected, ini_get( $directive_name ) );
    }
}

Basé sur le travail de @rarst


3

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:

apt-get install php5-fpm php5-mysqlnd php5-imagick php5-curl

2

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.


1

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.listfichier:

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

Ajoutez la clé GPG:

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

Mettre à jour la "liste de paquets":

sudo apt-get update

1. Installez PHP 7:

apt-get install php7.0-common libapache2-mod-php7.0 php7.0-cli

Source: http://php.net/manual/en/install.unix.debian.php

2. Liste des modules inclus dans le package "php7.0-common":

/usr/lib/php/20151012/calendar.so
/usr/lib/php/20151012/ctype.so
/usr/lib/php/20151012/exif.so
/usr/lib/php/20151012/fileinfo.so
/usr/lib/php/20151012/ftp.so
/usr/lib/php/20151012/gettext.so
/usr/lib/php/20151012/iconv.so
/usr/lib/php/20151012/pdo.so
/usr/lib/php/20151012/phar.so
/usr/lib/php/20151012/posix.so
/usr/lib/php/20151012/shmop.so
/usr/lib/php/20151012/sockets.so
/usr/lib/php/20151012/sysvmsg.so
/usr/lib/php/20151012/sysvsem.so
/usr/lib/php/20151012/sysvshm.so
/usr/lib/php/20151012/tokenizer.so

Source: https://packages.debian.org/sid/amd64/php7.0-common/filelist

3. Pour installer les modules supplémentaires requis / recommandés par wordpress:

apt-get install php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-pspell php7.0-zip

Source: https://wordpress.stackexchange.com/a/42141/107878

4. Je n'ai pas trouvé ce qui suit sur debian:

Openssl
Path Info Check
Zlib

5. "apt-cache search php7" renvoie:

php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-apcu - APC User Cache for PHP
php7.0-apcu-bc - APCu Backwards Compatibility Module
php7.0-bcmath - Bcmath module for PHP
php7.0-bz2 - bzip2 module for PHP
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP
php7.0-dba - DBA module for PHP
php7.0-dbg - Debug symbols for PHP7.0
php7.0-dev - Files for PHP7.0 module development
php7.0-enchant - Enchant module for PHP
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.0-gd - GD module for PHP
php7.0-geoip - GeoIP module for PHP
php7.0-gmp - GMP module for PHP
php7.0-igbinary - igbinary serializer for PHP
php7.0-imagick - Provides a wrapper to the ImageMagick library
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-json - JSON module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mbstring - MBSTRING module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-memcached - memcached extension module for PHP, uses libmemcached
php7.0-mongodb - MongoDB driver for PHP
php7.0-msgpack - MessagePack serializer for PHP
php7.0-mysql - MySQL module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-opcache - Zend OpCache module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-pspell - pspell module for PHP
php7.0-readline - readline module for PHP
php7.0-recode - recode module for PHP
php7.0-redis - PHP extension for interfacing with Redis
php7.0-snmp - SNMP module for PHP
php7.0-soap - SOAP module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-ssh2 - Bindings for the libssh2 library
php7.0-sybase - Sybase module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xdebug - Xdebug Module for PHP
php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
php7.0-xsl - XSL module for PHP (dummy)
php7.0-zip - Zip module for PHP

Référence: https://packages.debian.org/source/sid/php7.0


1

Le manuel WordPress répertorie maintenant les modules PHP recommandés:

WordPress utilise des extensions PHP. Si l'extension préférée est manquante, WordPress devra faire plus de travail pour accomplir la tâche à la base du module ou, dans le pire des cas, supprimer des fonctionnalités. Par conséquent, les extensions PHP listées ci-dessous sont recommandées.

  • bcmath - Utilisé pour améliorer les performances des calculs mathématiques.
  • curl - Effectue des opérations de requête à distance.
  • exif - Fonctionne avec les métadonnées stockées dans les images.
  • filter - Utilisé pour filtrer de manière sécurisée les entrées de l'utilisateur.
  • fileinfo - Utilisé pour détecter le type MIME des téléchargements de fichiers
  • mod_xml - Utilisé pour générer du XML, par exemple pour un sitemap XML. Notez que mod_xml est un module Apache, pas une extension PHP, mais est répertorié pour la sensibilisation.
  • mysqli - Se connecte à MySQL pour les interactions de base de données.
  • libsodium - Génère des octets aléatoires.
  • openssl - Autorise les connexions SSL à d'autres hôtes.
  • pcre - Augmente les performances de correspondance de modèle dans les recherches de code.
  • imagick - Fournit une meilleure qualité d'image pour les téléchargements de média. Voir WP_Image_Editor est entrant! pour plus de détails. Redimensionnement d'image plus intelligent (pour les images plus petites) et prise en charge des vignettes PDF, lorsque Ghost Script est également disponible.
  • xml - Utilisé pour l'analyse XML, par exemple à partir d'un site tiers.

Il liste également les extensions PHP suivantes comme étant optionnelles:

  • gd - Si Imagick n'est pas installé, la bibliothèque graphique GD est utilisée comme solution de secours limitée sur le plan fonctionnel pour la manipulation d'images.
  • mcrypt - Génère des octets aléatoires lorsque libsodium n'est pas disponible.
  • xmlreader - Utilisé pour l'analyse XML.
  • zlib - Compression et décompression Gzip.

Euh, je me demande ce qui mod_xmla à 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.
Rarst le

0

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.


2
WP n'utilise pas la couche PDO. Il y a probablement des plugins qui vous permettent de faire cela, mais la base de données API de WP est toujours de l'ancien temps de PHP ...
onetrickpony
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.