Quais são as extensões e bibliotecas PHP que o WP precisa e / ou usa?

79

O Codex menciona apenas a versão do PHP nos requisitos do servidor , no entanto, o PHP pode ser configurado em uma ampla gama de exclusões / inclusões de partes diferentes.

O que são extensões / bibliotecas que:

  1. são necessários para o WP funcionar? MySQL ...
  2. são necessários para funções específicas? GD? ...
  3. são preferidos para melhor operação de funções específicas? ondulação...
  4. são comumente usados ​​por plugins? Fecho eclair...
Rarst
fonte
Você sabe que existe um erro SSL no seu site ( queryposts.com )?
Eu sou a pessoa mais idiota
@IamtheMostStupidPerson obrigado, a renovação automática do certificado falhou por algum motivo, deve ser corrigida agora.
Rarst
Não se preocupe, é Vamos Criptografar. não é? Pensei que fosse renovado automaticamente ... Caso não seja renovado automaticamente como seu caso, o que podemos fazer?
Eu sou a pessoa mais estúpida
O suporte de hospedagem do @IamtheMostStupidPerson o redefiniu (foi configurado através da integração deles), normalmente é renovado automaticamente para mim.
Rarst
Extremamente difíceis de encontrar, mas há uma recomendação oficial: make.wordpress.org/hosting/handbook/handbook/server-environment/...
aidanh010

Respostas:

90

Pensei mais nisso e, considerando o tamanho da base de código WP (incluindo as bibliotecas incluídas), não parece muito realista compilar essa lista manualmente (e repeti-la para cada nova versão - meh).

Procurei a ferramenta de análise de código estática apropriada - PHP_CompatInfo e, depois de alguns ajustes, geramos o seguinte relatório de extensões usadas pelo núcleo (versão digitalizada 3.3.1):

  • cURL - 127 usos (requer libcurl )

    • API HTTP (classe WP_Http_curl)
    • url_is_accessable_via_ssl()
    • SimplePie (substituído pela classe WP_SimplePie_File)
    • GoogleSpell (do pacote TinyMCE, não é usado?)
  • Data / hora - 367 usos

  • DOM - 6 usos (requer libxml )

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

  • Filtro - 2 usos

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

    • classe ftp_base
    • classe ftp( versões pura e sockets )
    • classe WP_Filesystem_FTPext
    • classe 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últiplos (opcional - fallback in wp-includes\compat.php)
  • iconv - 5 usos

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

    • opcionais, fallbacks em wp-includes/compat.php
  • libxml - 4 usos

    • classe WP_oEmbed->_parse_xml()(opcional)
    • SimplePie
  • Cadeia multibyte - 29 usos

    • algum fallback em wp-includes/compat.php
  • MySQL - 60 usos

    • classe wpdb
    • classeSimplePie_Cache (substituída pela classe WP_Feed_Cache)
  • OpenSSL - 4 usos

    • classe PHPMailer
  • PCRE - 743 usos

  • SimpleXML - 1 usos

    • classe WP_oEmbed(parece opcional)
  • Soquetes - 64 usos

    • classe ftp( socketsimplementação)
  • SPL - 3 usos

  • Tokenizer - 3 usos

    • wp_doc_link_parse() (opcional)
  • Analisador de XML - 89 usos

  • XMLReader - 1 usos

    • SimplePie (parece opcional)
  • Zlib - 30 usos

Rarst
fonte
4
Ótimo recurso. Felizmente, a maioria das extensões e bibliotecas acima agora são compiladas por padrão com o PHP 5.2.4 e superior.
22412 Chris_O
@ Chris_O, desde que o padrão seja seguido ... Já foi dito várias vezes pela equipe principal que existem algumas configurações estranhas do PHP por aí. O que levou essa pergunta a mim mesmo é que o VPS foi comprado no trabalho de um novo provedor de hospedagem e inesperadamente tinha uma configuração muito mínima com algumas extensões típicas ausentes. Seria mais conveniente fornecer suporte para essa lista de extensões, descobrir e solicitar a instalação uma por uma.
Rarst
Qual lib é usada para descompactar temas e plugins?
jgraup
1
@jgraup ZipArchive ou PclZip, consulte as funções de descompactação relacionadas queryposts.com/?s=unzip_file
Rarst
1
Com a v4.7 e a nova miniatura / visualização em PDF nativa, seu servidor precisa de suporte para Imagick, ImageMagick e Ghostscript.
j08691
26

A resposta para isso pode ser complicada e muito longa, tanto quanto eu sei, também haverá algumas diferenças entre servidores e SO (IIS, Apache). Não posso dizer que a lista a seguir seja uma lista COMPLETA, mas inclui alguns daqueles que eu sei que são necessários:

  • Curl e CurlSSL - Não tenho certeza se é NECESSÁRIO, mas muito do código do WordPress o utilizará se estiver disponível. Muitos plugins, no entanto, exigem e / ou terão funções limitadas sem ele.

  • Exif - permite que o manipulador de mídia do WordPress retire dados Exif das imagens.

  • Gettext - .po .mo manipulação tradução localização internacionalização ..

  • FTP - usado para fazer atualizações de plug-ins e WordPress via FTP.

  • GD - Não precisa de introdução, certo?

  • Iconv - conversões de conjunto de caracteres para tudo, desde correio a análise de RSS.

  • Mbregex e Mbstring - o nome é bastante descritivo - fornecem funções usadas em todo o lugar :-)

  • Mcrypt - Não é necessário para o wordpress, mas muitos plugins precisam.

  • Mime Magic - Descontinuado agora no wordpress - mas ainda é bom ter para compatibilidade com versões anteriores.

  • * Mysql e Mysql do sistema * - todos nós sabemos o que é isso e por que é necessário, não?

  • Openssl - esta biblioteca é usada para lidar com conexões de processamento criptografadas com certificados SSL para WordPress, podendo conectar-se a qualquer local criptografado SSL (https).

  • POSIX - usado para garantir que o WordPress mantenha adequadamente as permissões e as propriedades dos arquivos.

  • Verificação de informações do caminho - algumas configurações de link permanente.

  • Recursos de verificação ortográfica para TinyMCE,.

  • Soquetes - gerenciamento de conexões FTP e manipulação de correio AKA SMTP e POP no WordPress.

  • Zip - Não tenho certeza se NECESSÁRIO - mas essa classe de criação e extração de arquivos zip compatível com várias plataformas será usada pelo wordpress, se disponível.

  • Zlib - Usado em muitos casos. exemplo - compressão de arquivos js e css. novamente, não tenho certeza se NECESSÁRIO, mas necessário.

Como mencionado acima - esta não é de forma alguma uma lista COMPLETA - Foi compilada há cerca de um ano - e pode precisar de alguma atualização. Muitas dessas funções não são exatamente necessárias, mas são aconselhadas . Em muitos casos, o wordpress usará uma função SE estiver disponível e, se não estiver, ignorará a tarefa. Um bom exemplo é a falta de biblioteca GD, ela não interromperá o funcionamento do wordpress, mas não cortará, redimensionará ou alterará as imagens enviadas - deixando assim o original (e acinzentado a opção "tamanho" na inserção " imagem para postar "função) ..

Como uma observação lateral - eu também diria que talvez essa pergunta provavelmente obtenha respostas mais corretas / atualizadas no serverfault.com do que aqui ...

krembo99
fonte
Por que isso não é encontrado no site do Wordpress?
Tadej
13

( Não se destina a ser uma resposta. Apenas algumas informações úteis. Se você acha que essas informações não são úteis, entre em contato, simplesmente as excluirei.)

Eu acho que falar em termos de pacotes seria mais fácil para iniciantes, mas como os pacotes variam de sistema para sistema, é difícil cobrir todos eles.

Como tenho experiência com o Debian (e distribuições baseadas no Debian), gostaria de compartilhar esta informação específica:

  • php5-cli
  • php5-dev
  • php5-fpm
  • php5-cgi
  • php5-mysql
  • php5-xmlrpc
  • php5-curl
  • php5-gd
  • php-apc (não obrigatório, mas recomendado)
  • php-pear
  • php5-imap
  • php5-mcrypt
  • php5-pspell

Os pacotes mencionados acima instalam todas as extensões / bibliotecas / módulos mencionados nas outras respostas; todos, exceto o Mime Magic, que não é mais necessário pelo WordPress .

Outra boa maneira de garantir que seu servidor seja 100% compatível com o WordPress é verificar com quais pacotes as empresas de hospedagem gerenciada vêm pré-instaladas. Como eles têm anos de experiência com reclamações de clientes sobre incompatibilidades, eles saberão melhor.

No caso do Hostgator , os módulos PHP pré-instalados incluem (você provavelmente precisará apenas da maioria, mas não de todos):

Módulos PHP pré-instalados pelo Hostgator

O Media Temple fornece um phpinfo();arquivo para você verificar a configuração deles. Também é útil para fins de comparação.

wsou eu
fonte
Para que o WP precisa php5-cli, php5-dev (php5-fpm && php5-cgi), php5-pear, php5-imap e php5-pspell? Sua abordagem parece ser apenas instalar tudo e é ruim. Como é a idéia de que você deve imitar ambientes de hospedagem compartilhada se tiver controle sobre sua instalação. Além disso, você deve escolher uma maneira de executar o PHP (FastCGI ou CGI), mas não as duas.
Além da versão (php5), esta é realmente a melhor resposta aqui .. a questão não indica 'para quê', apenas 'quais' módulos. Votado!
GerardJP
8

Se você deseja uma maneira fácil de verificar se o servidor atende a esses requisitos, agora existe um prático comando WP-CLI ext para fazer isso.

wp ext requiredmostra todas as extensões PHP necessárias para executar o WordPress, enquanto wp ext recommendedmostra as opcionais . wp ext checké uma combinação dos dois comandos.

Isso é útil quando você precisa de uma maneira rápida de verificar os requisitos do sistema em um novo servidor e / ou se deseja processar essa lista ainda mais programaticamente.

Veja 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
swissspidy
fonte
7

Eu desenvolvi meu verificador de ambiente WordPress. É uma classe simples, executada na web SAPI ou na CLI. Esta é a versão atualizada 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 <[email protected]>
 */

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 ) );
    }
}

Baseado no trabalho de @rarst

Szépe Viktor
fonte
3

Se você estiver usando o Debian 7 (Debian Wheezy), precisará instalar o próprio PHP e um pequeno número de extensões. A maior parte do que foi mencionado pelo @Rarst já está incluído em uma das instalações PHP mais básicas do Debian.

PHP

Você tem quatro opções no Debian Wheezy: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi ou php5-fpm . Eu escolho php5-fpm, mas tudo depende de como você deseja que seu servidor web e PHP interajam.

MySQL

Você também precisa do PHP para usar o MySQL. Suas opções são php5-mysql e php5-mysqlnd . O php5-mysqlnd é nativo e geralmente mais rápido. Alguns podem escolher uma alternativa como o MariaDB.

Biblioteca de gráficos opcional

Se você deseja redimensionar suas imagens, você pode instalar o php5-gd ou o php5-imagick . O php5-imagick fornecerá uma melhor qualidade e o Wordpress o usará, se estiver disponível. Se ambos estiverem instalados, o php5-imagick será usado. Se nenhum deles estiver instalado, as imagens não serão redimensionadas (e o Wordpress não reclamará).

HTTP opcional

Se você instalar o php5-curl , ele será usado, mas não é necessário para nada, exceto talvez para um melhor desempenho.


Nada mais é exigido pelo Wordpress e pela maioria das extensões, embora algumas extensões possam ter outros requisitos.

Aqui está a linha de instalação básica completa para fornecer ao Wordpress tudo o que é necessário para um desempenho ideal e nada que não seja:

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

fonte
2

Vale ressaltar que, desde o WordPress 5.2, há um recurso interno que relata os módulos ausentes. Encontre-o em Ferramentas> Integridade do site.

Altamente Irregular
fonte
1

Um pequeno "cheatsheet" ao instalar o PHP for Wordpress no Debian:

0. Adicione o repositório dotdeb

Adicione estas duas linhas ao seu /etc/apt/sources.listarquivo:

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

Adicione a chave GPG:

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

Atualize a "lista de pacotes":

sudo apt-get update

1. Instale o PHP 7:

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

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

2. Lista de módulos incluídos no pacote "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

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

3. Para instalar os módulos adicionais necessários / recomendados pelo wordpress:

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

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

4. Não consegui encontrar o seguinte no debian:

Openssl
Path Info Check
Zlib

5. "apt-cache search php7" retorna:

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

Referência: https://packages.debian.org/source/sid/php7.0

Tadej
fonte
1

O manual do WordPress agora lista os módulos PHP recomendados:

O núcleo do WordPress faz uso de extensões PHP. Se a extensão preferida estiver ausente, o WordPress precisará fazer mais trabalho para executar a tarefa com a qual o módulo ajuda ou, na pior das hipóteses, removerá a funcionalidade. Portanto, as extensões PHP listadas abaixo são recomendadas.

  • bcmath - Usado para melhorar o desempenho dos cálculos matemáticos.
  • curl - Executa operações de solicitação remota.
  • exif - trabalha com metadados armazenados em imagens.
  • filter - Usado para filtrar com segurança a entrada do usuário.
  • fileinfo - Usado para detectar o tipo MIME de uploads de arquivos
  • mod_xml - Usado para gerar XML, como para um sitemap XML. Observe que mod_xml é um módulo do Apache, não uma extensão do PHP, mas está listado para conhecimento.
  • mysqli - Conecta-se ao MySQL para interações com o banco de dados.
  • libsodium - Gera bytes aleatórios.
  • openssl - Permite conexões baseadas em SSL com outros hosts.
  • pcre - Aumenta o desempenho da correspondência de padrões nas pesquisas de código.
  • imagick - fornece melhor qualidade de imagem para uploads de mídia. Consulte WP_Image_Editor está chegando! para detalhes. Redimensionamento de imagem mais inteligente (para imagens menores) e suporte a miniatura de PDF, quando o Ghost Script também está disponível.
  • xml - usado para análise de XML, como de um site de terceiros.

Ele também lista as seguintes extensões PHP como opcionais:

  • gd - Se o Imagick não estiver instalado, a GD Graphics Library será usada como um substituto funcionalmente limitado para manipulação de imagens.
  • mcrypt - gera bytes aleatórios quando libsodium não está disponível.
  • xmlreader - Usado para análise de XML.
  • zlib - compactação e descompactação Gzip.
TEKFused
fonte
Ah, eu me pergunto o que isso mod_xmltem a ver com algo, já que o core não implementa sitemaps XML ou está vinculado à execução em um servidor Web específico.
Rarst
0

você precisa das extensões mysqli, pdo e gd. e às vezes xml-rpc.

Estou executando o WP com a extensão nativa mysqlnd há um tempo, é bem legal. Possui material de reflexão incorporado, portanto, se você quiser ver o que está acontecendo com o db nessa solicitação específica, poderá fazê-lo.

zip como uma extensão não é necessária, a maioria dos programas chama o executável zip do sistema.

Vid Luther
fonte
2
O WP não usa a camada PDO. Há provavelmente plugins que permitem que você faça isso, mas API de banco de dados do WP ainda é desde os tempos antigos de PHP ...
onetrickpony