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:
- son necesarios para que WP funcione? MySQL ...
- son necesarios para funciones específicas? GD? ...
- son preferidos para el mejor funcionamiento de funciones específicas? rizo...
- son comúnmente utilizados por los complementos? Código Postal...
Respuestas:
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 )
WP_Http_curl
)url_is_accessable_via_ssl()
SimplePie(anulado con claseWP_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
PHPMailer->ValidateAddress()
(opcional)FTP - 72 usos
ftp_base
ftp
( versiones puras y 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últiples (opcional - reserva enwp-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)Cadena multibyte - 29 usos
wp-includes/compat.php
MySQL - 60 usos
wpdb
clase(anulada con claseSimplePie_Cache
WP_Feed_Cache
)OpenSSL - 4 usos
PHPMailer
PCRE - 743 usos
SimpleXML - 1 usos
WP_oEmbed
(parece opcional)Zócalos - 64 usos
ftp
(sockets
implementación)SPL - 3 usos
Tokenizer - 3 usos
wp_doc_link_parse()
(Opcional)Analizador XML - 89 usos
XMLReader - 1 usos
Zlib - 30 usos
fuente
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í ...
fuente
( 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:
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):
Media Temple proporciona un
phpinfo();
archivo para que verifique su configuración. También es útil para fines de comparación.fuente
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 required
muestra todas las extensiones de PHP necesarias para ejecutar WordPress, mientras quewp ext recommended
muestra las opcionales .wp ext check
es 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 required
funciona:fuente
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
Basado en el trabajo de @rarst
fuente
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:
fuente
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.
fuente
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.list
archivo:Agregue la clave GPG:
Actualice la "lista de paquetes":
1. Instale PHP 7:
Fuente: http://php.net/manual/en/install.unix.debian.php
2. Lista de módulos, que se incluyen en el paquete "php7.0-common":
Fuente: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Para instalar los módulos adicionales requeridos / recomendados por WordPress:
Fuente: https://wordpress.stackexchange.com/a/42141/107878
4. No pude encontrar lo siguiente en debian:
5. "apt-cache search php7" devuelve:
Referencia: https://packages.debian.org/source/sid/php7.0
fuente
El manual de WordPress ahora enumera los módulos PHP recomendados:
También enumera las siguientes extensiones de PHP como opcionales:
fuente
mod_xml
tiene 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.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.
fuente