¿Cuáles son las extensiones y bibliotecas PHP que WP necesita y / o usa?


79

Codex solo menciona la versión de PHP en los requisitos del servidor , sin embargo, PHP se puede configurar en un rango bastante amplio de exclusión / inclusión de diferentes partes.

¿Qué son las extensiones / bibliotecas que:

  1. son necesarios para que WP funcione? MySQL ...
  2. son necesarios para funciones específicas? GD? ...
  3. son preferidos para el mejor funcionamiento de funciones específicas? rizo...
  4. son comúnmente utilizados por los complementos? Código Postal...

¿Sabe que hay un error SSL en su sitio ( queryposts.com )?
Soy la persona más estúpida

@IamtheMostStupidPerson gracias, la renovación automática de certificados había fallado allí por alguna razón, debería arreglarse ahora.
Rarst

No se preocupe, es Let's Encrypt. no es? Pensé que se renovaría automáticamente ... En caso de que no se renueve automáticamente como su caso, ¿qué podemos hacer?
Soy la persona más estúpida

El soporte de alojamiento de @IamtheMostStupidPerson lo restableció (se configuró a través de su integración), normalmente se renueva automáticamente para mí.
Rarst

Extremadamente difícil de encontrar, pero hay una recomendación oficial: make.wordpress.org/hosting/handbook/handbook/server-environment/…
aidanh010

Respuestas:


90

Pensé un poco más sobre esto y, dado el tamaño de la base de código WP (incluidas las bibliotecas incluidas), no parece muy realista compilar dicha lista a mano (y repetirla para cada nueva versión, meh).

Busqué la herramienta de análisis de código estático adecuada - PHP_CompatInfo y después de algunos ajustes generados después del informe de las extensiones utilizadas por el núcleo (versión escaneada 3.3.1):

  • cURL - 127 usos (requiere libcurl )

    • API HTTP (clase WP_Http_curl)
    • url_is_accessable_via_ssl()
    • SimplePie (anulado con clase WP_SimplePie_File)
    • GoogleSpell (del paquete TinyMCE, ¿no se usa?)
  • Fecha / hora - 367 usos

  • DOM - 6 usos (requiere libxml )

    • iis7_rewrite_rule_exists()
    • iis7_delete_rewrite_rule()
    • iis7_add_rewrite_rule()
    • saveDomDocument()
  • POSIX Regex - 23 usos

  • Filtro - 2 usos

    • clase PHPMailer->ValidateAddress()(opcional)
  • FTP - 72 usos

    • clase ftp_base
    • clase ftp( versiones puras y sockets )
    • clase WP_Filesystem_FTPext
    • clase WP_Filesystem_ftpsockets
  • GD - 56 usos

    • wp-admin\includes\image-edit.php
    • wp-admin\includes\image.php
    • wp-includes\media.php
  • Hash - 6 usos

    • wp-includes\pluggable.phpusos múltiples (opcional - reserva en wp-includes\compat.php)
  • iconv - 5 usos

    • clase SimplePie(opcional)
    • wp_check_invalid_utf8() (Opcional)
    • wp-mail.php (Opcional)
  • JSON - 20 usos

    • opcional, retrocesos en wp-includes/compat.php
  • libxml - 4 usos

    • clase WP_oEmbed->_parse_xml()(opcional)
    • SimplePie
  • Cadena multibyte - 29 usos

    • alguna alternativa en wp-includes/compat.php
  • MySQL - 60 usos

    • clase wpdb
    • claseSimplePie_Cache (anulada con clase WP_Feed_Cache)
  • OpenSSL - 4 usos

    • clase PHPMailer
  • PCRE - 743 usos

  • SimpleXML - 1 usos

    • clase WP_oEmbed(parece opcional)
  • Zócalos - 64 usos

    • clase ftp( socketsimplementación)
  • SPL - 3 usos

  • Tokenizer - 3 usos

    • wp_doc_link_parse() (Opcional)
  • Analizador XML - 89 usos

  • XMLReader - 1 usos

    • SimplePie (parece opcional)
  • Zlib - 30 usos


44
Gran recurso Afortunadamente, la mayoría de las extensiones y bibliotecas anteriores ahora se compilan de manera predeterminada con PHP 5.2.4 y superior.
Chris_O

@Chris_O siempre y cuando se siga el valor predeterminado ... El equipo central ha dicho varias veces que hay algunas configuraciones de PHP en la naturaleza. Lo que me provocó esta pregunta es que VPS fue comprado en el trabajo de un nuevo proveedor de alojamiento e inesperadamente tenía una configuración muy mínima con algunas extensiones típicas que faltan. Sería más conveniente brindar soporte con dicha lista de verificación de extensiones, luego descubrir y solicitar que se instalen una por una.
Rarst

¿Qué lib se usa para descomprimir temas y complementos?
jgraup

1
@jgraup ZipArchive o PclZip ver funciones de descompresión relacionadas queryposts.com/?s=unzip_file
Rarst

1
Con v4.7 y la nueva miniatura / vista previa de PDF nativo, su servidor necesita soporte Imagick, ImageMagick y Ghostscript.
j08691

26

La respuesta a esto podría ser complicada y muy larga, que yo sepa, también habrá algunas diferencias entre los servidores y el sistema operativo (IIS, Apache). No puedo decir que la siguiente lista sea COMPLETA, pero incluye Algunos de los que sé que son necesarios:

  • Curl y CurlSSL : no estoy seguro de que sea OBLIGATORIO, pero gran parte del código de WordPress lo usará si está disponible. Sin embargo, muchos complementos lo requieren y / o tendrán funciones limitadas sin él.

  • Exif : permite al manejador de medios de WordPress extraer datos Exif de las imágenes.

  • Gettext - .po .mo manejo traducción traducción internacionalización ..

  • FTP : se utiliza para hacer complementos y actualizaciones de WordPress a través de FTP

  • GD - No necesita presentación, ¿verdad?

  • Iconv : conversiones de juegos de caracteres para todo, desde correo hasta análisis RSS.

  • Mbregex y Mbstring , el nombre es bastante descriptivo, proporcionan funciones utilizadas en todo el lugar :-)

  • Mcrypt : no es necesario para WordPress, pero muchos complementos sí lo necesitan.

  • Mime Magic : obsoleto ahora en WordPress, pero aún así es bueno tener compatibilidad con versiones anteriores.

  • * Mysql y Mysql del sistema * : todos sabemos qué es esto y por qué es necesario, ¿no?

  • Openssl : esta biblioteca se utiliza para manejar conexiones de procesamiento cifradas con certificados SSL para que WordPress pueda conectarse a cualquier ubicación cifrada SSL (https).

  • POSIX : se utiliza para garantizar que WordPress mantenga correctamente los permisos y las propiedades de los archivos.

  • Comprobación de información de ruta : algunas configuraciones de enlace permanente.

  • Pspell - capacidades de corrección ortográfica para TinyMCE ,.

  • Sockets : administración de conexiones FTP y manejo de correo AKA SMTP y POP en WordPress.

  • Zip : no estoy seguro si es OBLIGATORIO, pero Wordpress, si está disponible, utilizará esta clase de creación y extracción de archivos zip compatible con varias plataformas.

  • Zlib : se usa en muchos casos. ejemplo: compresión de archivos js y css. de nuevo, no estoy seguro si se REQUIERE pero es necesario.

Como se mencionó anteriormente, esta no es una lista COMPLETA, se compiló hace aproximadamente un año y podría necesitar alguna actualización. Muchas de esas funciones no son exactamente REQUERIDAS, sino ASESORADAS . En muchos casos, wordpress usará una función SI está disponible, y si no, ignorará la tarea. Un buen ejemplo es la falta de biblioteca GD, no impedirá el funcionamiento de WordPress, pero no recortará, redimensionará ni alterará las imágenes cargadas, dejando así la opción original (y gris) en el "insertar" imagen para publicar "función) ..

Como nota al margen, también diría que tal vez esta pregunta probablemente obtenga respuestas más correctas / actualizadas en serverfault.com que aquí ...


¿Por qué este no se encuentra en el sitio web de Wordpress?
Tadej

13

( Esto no pretende ser una respuesta. Solo información útil. Si cree que esta información no es útil, hágamelo saber, simplemente la eliminaré).

Creo que hablar en términos de paquetes sería más fácil para los novatos, pero dado que los paquetes varían de un sistema a otro, es difícil cubrirlos a todos.

Como tengo experiencia con Debian (y distribuciones basadas en Debian), me gustaría compartir esta información específica:

  • php5-cli
  • php5-dev
  • php5-fpm
  • php5-cgi
  • php5-mysql
  • php5-xmlrpc
  • php5-curl
  • php5-gd
  • php-apc (no requerido, pero recomendado)
  • php-pear
  • php5-imap
  • php5-mcrypt
  • php5-pspell

Los paquetes mencionados anteriormente instalan todas las extensiones / bibliotecas / módulos mencionados en las otras respuestas; todos, excepto Mime Magic, que WordPress ya no requiere .

Otra buena manera de asegurarse de que su servidor sea 100% compatible con WordPress es verificar con qué paquetes vienen preinstaladas las compañías de hosting administrado . Como tienen años de experiencia con las quejas de los clientes sobre incompatibilidades, lo sabrán mejor.

En el caso de Hostgator , los módulos PHP que preinstalan incluyen (probablemente solo necesitará la mayoría, pero no todos):

Módulos PHP preinstalados por Hostgator

Media Temple proporciona un phpinfo();archivo para que verifique su configuración. También es útil para fines de comparación.


¿Para qué necesita WP php5-cli, php5-dev, (php5-fpm && php5-cgi), php5-pear, php5-imap y php5-pspell? Su enfoque parece ser simplemente instalar todo y es pobre. Como es la idea de que debe imitar entornos de alojamiento compartido si tiene control sobre su instalación. Además, debe elegir una forma de ejecutar PHP (FastCGI o CGI) pero no ambas.

Además de la versión (php5), esta es realmente la mejor respuesta aquí ... la pregunta no indica "para qué", solo "qué" módulos. ¡Votado!
GerardJP

8

Si desea una manera fácil de verificar si su servidor cumple con estos requisitos, ahora hay un práctico comando WP-CLI ext para hacerlo.

wp ext requiredmuestra todas las extensiones de PHP necesarias para ejecutar WordPress, mientras que wp ext recommendedmuestra las opcionales . wp ext checkes una combinación de ambos comandos.

Estos son útiles cuando necesita una forma rápida de verificar los requisitos del sistema en un nuevo servidor y / o si desea procesar más esta lista mediante programación.

Así es como wp ext requiredfunciona:

$ 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

He desarrollado mi verificador de entorno de WordPress. Es una clase simple, se ejecuta en web SAPI o en CLI. Esta es la versión mantenida 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 ) );
    }
}

Basado en el trabajo de @rarst


3

Si está utilizando Debian 7 (Debian Wheezy), necesita instalar PHP y una pequeña cantidad de extensiones. La mayor parte de lo mencionado por @Rarst ya está incluido en una de las instalaciones PHP más básicas de Debian.

PHP

Tiene cuatro opciones en Debian Wheezy: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi o php5-fpm . Elijo php5-fpm pero todo depende de cómo desee que interactúe su servidor web y PHP.

MySQL

También necesita PHP para usar MySQL. Sus opciones son php5-mysql y php5-mysqlnd . php5-mysqlnd es nativo y generalmente más rápido. Algunos podrían elegir una alternativa como MariaDB.

Biblioteca de gráficos opcional

Si desea cambiar el tamaño de sus imágenes, puede instalar php5-gd o php5-imagick . php5-imagick le dará una mejor calidad y Wordpress lo usará si está disponible. Si ambos están instalados, se utilizará php5-imagick. Si ninguno de los dos está instalado, las imágenes no cambiarán su tamaño (y Wordpress no se quejará)

HTTP opcional

Si instala php5-curl , se usará pero no es necesario para nada, excepto quizás un mejor rendimiento.


Wordpress y la mayoría de las extensiones no requieren nada más, aunque algunas extensiones pueden tener otros requisitos.

Aquí está la línea de instalación básica completa para darle a Wordpress todo lo que necesita para un rendimiento óptimo y nada que no:

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

2

Vale la pena mencionar que desde WordPress 5.2, hay una característica incorporada que informa sobre los módulos que faltan. Encuéntralo en Herramientas> Salud del sitio.


1

Una pequeña "hoja de trucos" al instalar PHP para Wordpress en Debian:

0. Agregar el repositorio dotdeb

Agregue estas dos líneas a su /etc/apt/sources.listarchivo:

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

Agregue la clave GPG:

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

Actualice la "lista de paquetes":

sudo apt-get update

1. Instale PHP 7:

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

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

2. Lista de módulos, que se incluyen en el paquete "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

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

3. Para instalar los módulos adicionales requeridos / recomendados por WordPress:

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

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

4. No pude encontrar lo siguiente en debian:

Openssl
Path Info Check
Zlib

5. "apt-cache search php7" devuelve:

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

Referencia: https://packages.debian.org/source/sid/php7.0


1

El manual de WordPress ahora enumera los módulos PHP recomendados:

El núcleo de WordPress hace uso de extensiones PHP. Si falta la extensión preferida, WordPress tendrá que hacer más trabajo para realizar la tarea con la que ayuda el módulo o, en el peor de los casos, eliminará la funcionalidad. Por lo tanto, se recomiendan las extensiones PHP enumeradas a continuación.

  • bcmath: se utiliza para mejorar el rendimiento de los cálculos matemáticos.
  • curl: realiza operaciones de solicitud remota.
  • exif: funciona con metadatos almacenados en imágenes.
  • filtro: se utiliza para filtrar de forma segura la entrada del usuario.
  • fileinfo: se utiliza para detectar el tipo MIME de cargas de archivos
  • mod_xml: se utiliza para generar XML, como un mapa del sitio XML. Tenga en cuenta que mod_xml es un módulo de Apache, no una extensión de PHP, pero está incluido en la lista de reconocimiento.
  • mysqli: se conecta a MySQL para interacciones de bases de datos.
  • libsodium: genera bytes aleatorios.
  • openssl: permite conexiones basadas en SSL a otros hosts.
  • pcre: aumenta el rendimiento de la coincidencia de patrones en las búsquedas de código.
  • imagick: proporciona una mejor calidad de imagen para las cargas multimedia. Ver WP_Image_Editor es entrante! para detalles. Cambio de tamaño de imagen más inteligente (para imágenes más pequeñas) y compatibilidad con miniaturas PDF, cuando Ghost Script también está disponible.
  • xml: se utiliza para el análisis XML, como el de un sitio de terceros.

También enumera las siguientes extensiones de PHP como opcionales:

  • gd: si Imagick no está instalado, la Biblioteca de gráficos GD se usa como una alternativa funcionalmente limitada para la manipulación de imágenes.
  • mcrypt: genera bytes aleatorios cuando libsodium no está disponible.
  • xmlreader: se utiliza para el análisis XML.
  • zlib: compresión y descompresión de Gzip.

Huh, me pregunto qué mod_xmltiene que ver con algo, ya que core no implementa mapas de sitio XML ni está vinculado a la ejecución en un servidor web específico.
Rarst

0

necesita las extensiones mysqli, pdo y gd. y a veces xml-rpc.

He estado ejecutando WP con la extensión nativa mysqlnd durante un tiempo, es bastante bueno. Tiene material de reflexión incorporado, por lo que si desea ver qué sucede con el db en esa solicitud específica, puede hacerlo.

zip como extensión no es necesaria, la mayoría de los programas llaman al sistema ejecutable zip.


2
WP no usa la capa PDO. Probablemente haya complementos que le permitan hacer esto, pero la API de la base de datos de WP todavía es de los tiempos antiguos de PHP ...
onetrickpony
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.