Кодекс свободно упоминает только версию PHP в требованиях к серверу , однако PHP может быть сконфигурирован в довольно широком диапазоне, исключая / включая различные части.
Что такое расширения / библиотеки, которые:
- нужны для WP вообще работать? MySQL ...
- необходимы для определенных функций? БЖ? ...
- предпочтительнее для лучшей работы конкретных функций? Curl ...
- обычно используются плагины? Zip ...
Ответы:
Я еще немного подумал и, учитывая размер базы кода WP (включая связанные библиотеки), кажется не очень реалистичным составлять такой список вручную (и повторять его для каждой новой версии - ме).
Я посмотрел соответствующий инструмент для статического анализа кода - PHP_CompatInfo и после некоторой работы сгенерировал следующий отчет о расширениях, используемых ядром (отсканированная версия 3.3.1):
cURL - 127 использует (требует libcurl )
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
( чистая версия и версия с сокетами )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()
(необязательно)Многобайтовая строка - 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 Parser - 89 использует
XMLReader - 1 использует
Zlib - 30 использует
источник
Ответ на этот вопрос может быть сложным и очень длинным, насколько я знаю, также будут некоторые различия между серверами и ОС (IIS, Apache). Я не могу сказать, что следующий список является полным списком, но он включает в себя некоторые из тех, кого я знаю, требуются:
Curl и CurlSSL - Не уверен, что это ТРЕБУЕТСЯ, но большая часть кода WordPress будет использовать его, если он доступен. Однако многие плагины требуют этого и / или будут иметь ограниченные функции без него.
Exif - позволяет обработчику мультимедиа WordPress извлекать данные Exif из изображений.
Gettext - .po .mo обрабатывает интернационализацию перевода.
FTP - используется для обновления плагинов и WordPress через FTP.
Г.Д. - Не нужно знакомство, верно?
Iconv - преобразование набора символов для всего, от почты до парсинга RSS.
Mbregex и Mbstring - название довольно наглядное - предоставляют функции, используемые повсеместно :-)
Mcrypt - не нужен для WordPress, но многим плагинам это нужно.
Mime Magic - устарел сейчас в WordPress - но все же хорошо иметь совместимость со спиной.
* Mysql и Mysql системы * - мы все знаем, что это такое и зачем это нужно, нет?
Openssl - эта библиотека используется для обработки соединений, зашифрованных с помощью SSL-сертификатов, для WordPress возможно подключение к любому зашифрованному местоположению SSL (https).
POSIX - используется для того, чтобы WordPress правильно поддерживал права доступа к файлам и права собственности.
Проверка информации о пути - некоторые постоянные настройки.
Pspell - возможности проверки орфографии в TinyMCE.
Сокеты - управление FTP-соединениями и обработка почты AKA SMTP и POP в WordPress.
Zip - Не уверен, если ТРЕБУЕТСЯ - но этот кросс-платформенный класс создания и извлечения zip-файлов будет использоваться WordPress, если он доступен.
Zlib - используется во многих случаях. пример - сжатие файлов js и css. опять же, не уверен, если ТРЕБУЕТСЯ, но необходимо.
Как указано выше - это ни в коем случае не полный список - он был составлен около года назад - и, возможно, потребуется какое-то обновление. Многие из этих функций НЕ ТРЕБУЮТСЯ, но СОВЕТУЮТСЯ . Во многих случаях WordPress будет использовать функцию, если она доступна, и если нет, будет игнорировать задачу. Хорошим примером является отсутствие библиотеки GD, она не помешает работе WordPress, но она не будет обрезать, изменять размер или изменять загруженные изображения - таким образом, оставляя оригинал (и серым параметр «размер» в «вставить» изображение для публикации "функция) ..
В качестве примечания - я бы также сказал, что, возможно, этот вопрос, вероятно, получит больше правильных / обновленных ответов на serverfault.com, чем здесь ...
источник
( Это не предназначен для ответа. Просто некоторая полезная информация. Если вы считаете, что эта информация бесполезна, дайте мне знать, я просто удалю ее.)
Я думаю, что для новичков было бы легче говорить с точки зрения пакетов , но, поскольку пакеты варьируются от системы к системе, охватить все из них сложно.
Поскольку у меня есть опыт работы с Debian (и дистрибутивами на основе Debian), я хотел бы поделиться этой конкретной информацией:
Вышеупомянутые пакеты устанавливают все расширения / библиотеки / модули, упомянутые в других ответах; все, кроме Mime Magic, которое больше не требуется WordPress .
Еще один хороший способ убедиться, что ваш сервер на 100% совместим с WordPress, - это проверить, с какими пакетами предварительно установлены хостинговые компании . Поскольку они имеют многолетний опыт работы с жалобами клиентов на несовместимость, они будут знать лучше.
В случае Hostgator предустановленные модули PHP включают в себя (вероятно, вам понадобится только большинство, но не все):
Media Temple предоставляет
phpinfo();
файл для проверки их конфигурации. Это также полезно для сравнения.источник
Если вам нужен простой способ проверить, соответствует ли ваш сервер этим требованиям, теперь для этого есть удобная команда WP-CLI ext .
wp ext required
показывает все расширения PHP, необходимые для запуска WordPress, а такжеwp ext recommended
показывает необязательные .wp ext check
является комбинацией обеих команд.Они пригодятся, когда вам нужен быстрый способ проверить системные требования на новом сервере и / или если вы хотите дополнительно обработать этот список программным способом.
Вот как это
wp ext required
работает:источник
Я разработал мою проверку среды WordPress. Это простой класс, работает в веб-SAPI или CLI. Это поддерживаемая версия https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php
Основано на работе @rarst
источник
Если вы используете Debian 7 (Debian Wheezy), вам нужно установить сам PHP и небольшое количество расширений. Большая часть того, что было упомянуто @Rarst, уже включена в одну из самых основных установок Debian для PHP.
PHP
В Debian Wheezy есть четыре варианта: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi или php5-fpm . Я выбираю php5-fpm, но все зависит от того, как вы хотите, чтобы ваш веб-сервер и PHP взаимодействовали.
MySQL
Вам также нужен PHP для использования MySQL. Вы можете выбрать php5-mysql и php5-mysqlnd . php5-mysqlnd является нативным и, как правило, быстрее. Некоторые могут выбрать альтернативу, например MariaDB.
Графическая библиотека опционально
Если вы хотите, чтобы ваши изображения были изменены, вы можете установить php5-gd или php5-imagick . php5-imagick даст вам лучшее качество, и Wordpress будет использовать его, если он будет доступен. Если оба установлены, php5-imagick будет использоваться. Если ни один из них не установлен, изображения не будут изменены (и Wordpress не будет жаловаться).
HTTP необязательно
Если вы установите php5-curl , он будет использоваться, но не требуется ни для чего, кроме, возможно, повышения производительности.
В Wordpress и большинстве расширений больше ничего не требуется, хотя некоторые расширения могут иметь другие требования.
Вот полная базовая линия установки, чтобы дать Wordpress все, что нужно для оптимальной производительности, и ничего, чего не требуется:
источник
Стоит отметить, что начиная с WordPress 5.2, есть встроенная функция, которая сообщает о недостающих модулях. Найдите его в Инструменты> Здоровье сайта.
источник
Небольшая «шпаргалка» при установке PHP для Wordpress на Debian:
0. Добавьте репозиторий dotdeb
Добавьте эти две строки в ваш
/etc/apt/sources.list
файл:Добавьте ключ GPG:
Обновите «список пакетов»:
1. Установите PHP 7:
Источник: http://php.net/manual/en/install.unix.debian.php
2. Список модулей, входящих в пакет «php7.0-common»:
Источник: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Чтобы установить дополнительные модули, которые требуются / рекомендуются WordPress:
Источник: https://wordpress.stackexchange.com/a/42141/107878
4. Я не смог найти следующее в Debian:
5. «apt-cache search php7» возвращает:
Ссылка: https://packages.debian.org/source/sid/php7.0
источник
В справочнике WordPress теперь перечислены рекомендуемые модули PHP:
В нем также перечислены следующие расширения PHP как необязательные:
источник
mod_xml
имеет к чему-либо, поскольку ядро не реализует карты сайта XML и не привязано к работе на определенном веб-сервере.вам нужны расширения mysqli, pdo и gd. а иногда и xml-rpc.
Я уже некоторое время использую WP с собственным расширением mysqlnd, оно довольно аккуратное. В него встроены рефлексии, так что если вы хотите увидеть, что происходит с БД в этом конкретном запросе, вы можете это сделать.
zip как расширение не требуется, большинство программ называют системный zip исполняемым файлом.
источник