Codex在服务器要求中仅宽松地提到了PHP版本,但是PHP可以在广泛的范围内进行配置,以排除/包括不同的部分。

什么是扩展程序/库,

< br完全需要工作吗? MySQL ...

是特定功能所必需的吗? GD?...

是对特定功能的最佳操作的首选? cURL ...

插件常用吗?拉链...



评论

您是否知道您的网站(queryposts.com)上存在SSL错误?

@IamtheMostStupidPerson谢谢您,由于某些原因自动证书更新失败,请立即修复。

不用担心,这就是加密。不是吗我以为它会自动更新...如果您的情况没有自动更新,该怎么办?

@IamtheMostStupidPerson托管支持已对其进行了重置(它是通过他们的集成设置的),通常它会自动为我续订。

很难找到,但是有一个官方建议:make.wordpress.org/hosting/handbook/handbook/server-environment/…

#1 楼

我对此进行了一些思考,并根据WP代码库的大小(包括捆绑的库),手动编译此类列表(并在每个新版本中都重复使用-meh)似乎不太现实。

我查找了适当的静态代码分析工具-PHP_CompatInfo,并在对内核使用的扩展报告(版本扫描3.3.1)进行了修补之后生成了以下内容:



cURL-127用途(需要libcurl)


HTTP API(类WP_Http_curl
url_is_accessable_via_ssl()

SimplePie(被类WP_SimplePie_File覆盖)

GoogleSpell(是否使用TinyMCE包?)


日期/时间-367次使用

DOM-6次使用(需要libxml)


iis7_rewrite_rule_exists()
iis7_delete_rewrite_rule()
iis7_add_rewrite_rule()
saveDomDocument()


POSIX Regex-23个用途

过滤器-2个用途


PHPMailer->ValidateAddress()(可选)



FTP-72个用途


ftp_base

ftp类(纯净和ockets版本)
WP_Filesystem_FTPext

WP_Filesystem_ftpsockets





GD-56个用途


wp-admin\includes\image-edit.php
wp-admin\includes\image.php
wp-includes\media.php



哈希-6种用法




wp-includes\pluggable.php多种用途(可选-wp-includes\compat.php中的备用)



iconv-5种用途



SimplePie类(可选)

wp_check_invalid_utf8()(可选)

wp-mail.php(可选)




JSON-20个用途


可选,wp-includes/compat.php中的后备版本




libxml-4种用法



WP_oEmbed->_parse_xml()类(可选)
SimplePie



多字节字符串-29种用法


wp-includes/compat.php中的某些后备功能

>


MySQL-60种用法


wpdb


SimplePie_Cache(被WP_Feed_Cache类覆盖)




OpenSSL-4种用法


PHPMailer




PCRE-743个用途

SimpleXML-1个用途


WP_oEmbed(似乎可选)




套接字-64个用途


ftp(实现sockets


SPL-3个用途

令牌生成器-3个用途



wp_doc_link_parse()(可选)


XML解析器-89个用途

XMLReader-1个用途


SimplePie(似乎是可选的)


Zlib-30个用途


评论


巨大的资源。幸运的是,上面的大多数扩展和库现在默认情况下都是使用PHP 5.2.4及更高版本编译的。

– Chris_O
2012-2-18在5:21

@Chris_O,只要遵循默认设置...核心团队多次说过,野外有一些weeeeird PHP配置。我自己提出这个问题的原因是,VPS是在工作时从新的托管服务提供商处购买的,出乎意料的是,它的配置非常少,缺少一些典型的扩展。使用扩展名的这种检查列表提供支持,然后发现并要求将它们一一安装,会更加方便。

–稀有
2012-2-18在16:14



哪个库用于解压缩主题和插件?

– jgraup
16年11月24日在21:23

@jgraup ZipArchive或PclZip请参阅相关的解压缩功能queryposts.com/?s=unzip_file

–稀有
16-11-24在21:46

使用v4.7和新的本机PDF缩略图/预览,您的服务器需要Imagick,ImageMagick和Ghostscript支持。

– j08691
17 Mar 3 '17 at 18:17



#2 楼

据我所知,答案可能很复杂而且很长,据我所知,服务器和操作系统(IIS,Apache)之间也会有一些区别。.我不能说以下列表是完整列表,但是它包括我知道其中一些是必需的:


Curl和CurlSSL –不确定是否必需,但是如果可用,很多WordPress代码将使用它。
很多插件确实需要它,并且/或者没有它会具有有限的功能。
Exif –允许WordPress的媒体处理程序从图像中提取Exif数据

Gettext-.po .mo处理翻译本地化国际化..
FTP –用于通过FTP进行插件和WordPress升级。
GD –无需介绍,对吗?
Iconv –从邮件到RSS解析的所有字符集转换。
Mbregex和Mbstring –名称非常具有描述性-提供了在各处使用的功能:-)
Mcrypt – WordPress不需要,但是许多插件确实需要它。 > Mime Magic –现在在wordpress中已弃用-但仍然具有向后兼容性。
*系统的Mysql和Mysql * –我们都知道这是什么,为什么需要它,没有吗?
Openssl –该库用于处理处理连接
,使用WordPress的SSL证书加密后,可能能够连接到任何SSL(https)加密的位置。
POSIX –用于确保WordPress正确维护文件权限和所有权。
路径信息检查-一些永久链接设置。
Pspell-TinyMCE的拼写检查功能。
套接字–在WordPress中管理FTP连接和邮件处理AKA SMTP和POP。
邮编–不确定是否需要-但是此跨平台兼容的zip文件创建和提取类将由wordpress使用(如果可用)。
Zlib –在许多情况下使用。示例-js和css文件压缩。同样,不确定是否需要,但是否需要。

就像上面所说的-这绝不是完整的列表-它是大约一年前编译的,可能需要进行一些更新。其中许多功能并非完全必需,而是已建议。在许多情况下,如果可用,wordpress会使用功能,如果没有,则会忽略该任务。
一个很好的例子是缺少GD库,它不会停止wordpress的运行,但是不会裁剪,调整大小或更改上传的图像-因此保留了原始图像(并保留了“ size”选项为灰色)在“插入要发布的图像”功能中)..

作为旁注-我也要说,也许这个问题在serverfault.com上可能比在这里得到更多正确/更新的答案...

评论


为什么在Wordpress网站上找不到此地址?

–塔德杰
17 Mar 20 '17在9:27

#3 楼

(这并不是要提供答案。仅提供一些有用的信息。如果您认为此信息没有用,请告诉我,我将其删除。)

我认为从对于新手来说,软件包会比较容易,但是由于软件包因系统而异,因此很难涵盖所有软件包。

由于我对Debian(和基于Debian的发行版)有丰富的经验,我想共享此特定信息:


php5-cli
php5-dev
php5-mysql
php5-xmlrpc
php5-curl
php5-gd
php-apc(不是必需的,但推荐)
php-pear
php5-imap
php5-mcrypt
php5-pspell

上述软件包安装了其他答案中提到的所有扩展/库/模块;除Mime Magic之外,所有这些都不再需要WordPress。

确保您的服务器与WordPress 100%兼容的另一种好方法是检查托管主机公司预装了哪些软件包。由于他们有多年解决不兼容问题的经验,因此他们会更好地了解。

对于Hostgator,他们预先安装的PHP模块包括(您可能只需要大多数但不是全部其中):



Media Temple提供了一个phpinfo();文件供您检查其配置。这对于比较也很有用。

评论


WP需要什么php5-cli,php5-dev,(php5-fpm && php5-cgi),php5-pear,php5-imap和php5-pspell?您的方法似乎是仅安装所有内容,但效果不佳。如果您可以控制安装,则应模仿共享托管环境。另外,您应该选择一种运行PHP的方式(FastCGI或CGI),但不能同时选择两种方式。

–user55371
2014年7月10日,0:50

除了版本(php5),这实际上是最好的答案..这个问题并没有说明“做什么”,而只是说明了“哪个”模块。投票了!

– GerardJP
'18 / 12/19在14:00

#4 楼

如果您想要一种简单的方法来验证您的服务器是否满足这些要求,现在可以使用一个便捷的WP-CLI ext命令。

wp ext required显示了运行WordPress所需的所有PHP扩展,而wp ext recommended显示了可选那些。 wp ext check是这两个命令的组合。

在需要快速检查新服务器上的系统要求和/或希望以编程方式进一步处理此列表时很方便。 />
以下是wp ext required的工作方式:

$ 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


#5 楼

我已经开发了WordPress环境检查器。这是一个简单的类,可以在Web SAPI或CLI上运行。
这是维护的版本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$||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 ) );
    }
}


基于@rarst的工作

#6 楼

WordPress手册现在列出了推荐的PHP模块:

WordPress核心利用了PHP扩展。如果缺少首选扩展名
,WordPress将不得不做更多的工作来完成任务
,该模块将提供帮助,或者在最坏的情况下,将删除功能。因此,建议下面列出的PHP扩展。

curl –执行远程请求操作。
exif –使用存储在图像中的元数据。
filter –用于安全过滤用户输入。
fileinfo –用于检测文件上载的模仿类型
mod_xml –用于生成XML,例如用于XML网站地图。请注意,mod_xml是Apache模块,不是PHP扩展,但出于了解目的而列出。
mysqli –连接到MySQL以进行数据库交互。
libsodium –生成随机字节。 openssl –允许与其他主机的基于SSL的连接。
pcre –提高代码搜索中模式匹配的性能。
imagick –为媒体上载提供更好的图像质量。看到WP_Image_Editor传入!有关详细信息。还可以使用Ghost脚本
,更智能地调整图像大小(用于
较小的图像)和PDF缩略图。 />

还将下列PHP扩展列为可选:


gd –如果未安装Imagick,则将GD图形库用作
mcrypt –在libsodium不可用时生成随机字节。
xmlreader –用于XML解析。
zlib – Gzip压缩和解压缩。



评论


呵呵,我想知道mod_xml与做什么无关,因为core既不实现XML站点地图也不绑定在特定Web服务器上运行。

–稀有
19年6月2日在8:21

注意:自该答案以来,bcmath已从页面上的该列表中删除。

–罗伯特·邓登
10月20日3:08

#7 楼

如果您使用的是Debian 7(Debian Wheezy),则需要安装PHP本身和少量扩展。 @Rarst提到的大多数内容已经包含在Debian最基本的PHP安装之一中。

PHP

Debian Wheezy中有四个选项:libapache2-mod-php5 ,libapache2-mod-php5filter,php5-cgi或php5-fpm。我选择php5-fpm,但这完全取决于您希望Web服务器和PHP交互的方式。

MySQL

您还需要PHP才能使用MySQL。您的选择是php5-mysql和php5-mysqlnd。 php5-mysqlnd是本地的,通常更快。有些人可能会选择诸如MariaDB之类的替代方案。

图形库为可选

如果要调整图像大小,可以安装php5-gd或php5-imagick。 php5-imagick将为您提供更好的质量,如果可用,Wordpress将使用它。如果两个都安装,将使用php5-imagick。如果两者均未安装,则图像将不会调整大小(Wordpress也不会抱怨)。除了可能具有更好的性能外,不需要任何其他功能。


尽管某些扩展可能有其他要求,但Wordpress和大多数扩展都不需要其他任何功能。

这里是完整的基本安装线可为Wordpress提供获得最佳性能所需的一切,而它却并非没有:

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


#8 楼

值得一提的是,自WordPress 5.2起,有一个内置功能可报告缺少的模块。在“工具”>“站点健康”中找到它。

#9 楼

在Debian上为Wordpress安装PHP时的一个小“备忘单”:

0。添加dotdeb存储库

将这两行添加到您的/etc/apt/sources.list文件中:

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


添加GPG密钥:

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


更新“软件包列表”:

sudo apt-get update


1。安装PHP 7:

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


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

2。模块列表,包含在“ 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


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

3。要安装wordpress所需/推荐的其他模块:

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


来源:https://wordpress.stackexchange.com/a/42141/107878

4。我在debian上找不到以下内容:

Openssl
Path Info Check
Zlib


5。 “ apt-cache搜索php7”返回:

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


参考:https://packages.debian.org/source/sid/php7.0

#10 楼

您需要mysqli,pdo和gd扩展名。有时是xml-rpc。

我已经使用mysqlnd本机扩展运行WP已有一段时间了,它非常简洁。内置了反射功能,因此,如果您想查看特定请求中数据库的运行状况,可以执行此操作。

zip是不需要扩展名的,大多数程序都调用系统zip可执行文件。

评论


WP不使用PDO层。可能有一些插件可以使您执行此操作,但是WP的数据库API仍来自PHP的远古时代。

–onetrickpony
2012年2月13日在18:36

#11 楼

正式地,WordPress.org表示,从WP Core 5.3+开始,以及使用推荐的PHP版本(当前为PHP 7.2)时,仅需要以下PHP扩展: /> ...但是他们还建议使用以下可选扩展:

curl -- Performs remote request operations.
dom -- Used to validate Text Widget content and to automatically configuring IIS7+.
exif -- Works with metadata stored in images.
fileinfo -- Used to detect mimetype of file uploads.
hash -- Used for hashing, including passwords and update packages.
json -- Used for communications with other servers.
mbstring -- Used to properly handle UTF8 text.
mysqli -- Connects to MySQL for database interactions.
libsodium -- Validates Signatures and provides securely random bytes.
openssl -- Permits SSL-based connections to other hosts.
pcre -- Increases performance of pattern matching in code searches.
imagick -- Provides better image quality for media uploads. See WP_Image_Editor is incoming! for details. Smarter image resizing (for smaller images) and PDF thumbnail support, when Ghost Script is also available.
xml -- Used for XML parsing, such as from a third-party site.
zip -- Used for decompressing Plugins, Themes, and WordPress update packages.


但是请记住,其中一些必需(或可选)扩展已经捆绑在一起放入其他PHP软件包中。例如,dom扩展名中通常包含xml。如果使用Ubuntu等,其他类似fileinfo的对象可能已经安装为所谓的php-common软件包的一部分。

此外,还有一些其他扩展,例如bcmath并不是正式需要的或由WordPress推荐,但仍被许多流行的插件(如Yoast SEO)使用。

如果感兴趣,可以在LittleBizzy上关注我们的WordPress PHP扩展列表。