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:
- são necessários para o WP funcionar? MySQL ...
- são necessários para funções específicas? GD? ...
- são preferidos para melhor operação de funções específicas? ondulação...
- são comumente usados por plugins? Fecho eclair...
Respostas:
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 )
WP_Http_curl
)url_is_accessable_via_ssl()
SimplePie(substituído pela classeWP_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
PHPMailer->ValidateAddress()
(opcional)FTP - 72 usos
ftp_base
ftp
( versões pura e sockets )WP_Filesystem_FTPext
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.php
usos múltiplos (opcional - fallback inwp-includes\compat.php
)iconv - 5 usos
SimplePie
(opcional)wp_check_invalid_utf8()
(opcional)wp-mail.php
(opcional)JSON - 20 usos
wp-includes/compat.php
libxml - 4 usos
WP_oEmbed->_parse_xml()
(opcional)Cadeia multibyte - 29 usos
wp-includes/compat.php
MySQL - 60 usos
wpdb
classe(substituída pela classeSimplePie_Cache
WP_Feed_Cache
)OpenSSL - 4 usos
PHPMailer
PCRE - 743 usos
SimpleXML - 1 usos
WP_oEmbed
(parece opcional)Soquetes - 64 usos
ftp
(sockets
implementação)SPL - 3 usos
Tokenizer - 3 usos
wp_doc_link_parse()
(opcional)Analisador de XML - 89 usos
XMLReader - 1 usos
Zlib - 30 usos
fonte
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 ...
fonte
( 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:
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):
O Media Temple fornece um
phpinfo();
arquivo para você verificar a configuração deles. Também é útil para fins de comparação.fonte
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 required
mostra todas as extensões PHP necessárias para executar o WordPress, enquantowp ext recommended
mostra 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 required
funciona:fonte
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
Baseado no trabalho de @rarst
fonte
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:
fonte
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.
fonte
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.list
arquivo:Adicione a chave GPG:
Atualize a "lista de pacotes":
1. Instale o PHP 7:
Fonte: http://php.net/manual/en/install.unix.debian.php
2. Lista de módulos incluídos no pacote "php7.0-common":
Fonte: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Para instalar os módulos adicionais necessários / recomendados pelo wordpress:
Fonte: https://wordpress.stackexchange.com/a/42141/107878
4. Não consegui encontrar o seguinte no debian:
5. "apt-cache search php7" retorna:
Referência: https://packages.debian.org/source/sid/php7.0
fonte
O manual do WordPress agora lista os módulos PHP recomendados:
Ele também lista as seguintes extensões PHP como opcionais:
fonte
mod_xml
tem a ver com algo, já que o core não implementa sitemaps XML ou está vinculado à execução em um servidor Web específico.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.
fonte