Codex erwähnt die PHP-Version nur lose in den Server-Anforderungen , PHP kann jedoch in einem weiten Bereich von Ausschluss / Einschluss verschiedener Teile konfiguriert werden.
Was sind Erweiterungen / Bibliotheken, die:
- sind erforderlich, damit WP überhaupt funktioniert? MySQL ...
- werden für bestimmte Funktionen benötigt? GD? ...
- werden für die bestmögliche Bedienung bestimmter Funktionen bevorzugt? CURL ...
- werden häufig von Plugins verwendet? Postleitzahl...
Antworten:
Ich habe darüber nachgedacht und die Größe der WP-Codebasis (einschließlich der gebündelten Bibliotheken) angegeben. Es erscheint nicht sehr realistisch, eine solche Liste von Hand zu kompilieren (und sie für jede neue Version zu wiederholen - meh).
Ich suchte nach einem geeigneten statischen Code-Analysetool - PHP_CompatInfo - und erstellte nach einigem Basteln den folgenden Bericht über die von Core verwendeten Erweiterungen (Version 3.3.1 gescannt):
cURL - 127 benutzt (erfordert libcurl )
WP_Http_curl
)url_is_accessable_via_ssl()
SimplePie(mit Klasse überschriebenWP_SimplePie_File
)GoogleSpell(aus TinyMCE-Paket, wird nicht verwendet?)Datum / Uhrzeit - 367 Verwendungen
DOM - 6 benutzt (erfordert libxml )
iis7_rewrite_rule_exists()
iis7_delete_rewrite_rule()
iis7_add_rewrite_rule()
saveDomDocument()
POSIX Regex - 23 verwendet
Filter - 2 verwendet
PHPMailer->ValidateAddress()
(optional)FTP - 72 verwendet
ftp_base
ftp
( Pure- und Sockets- Versionen)WP_Filesystem_FTPext
WP_Filesystem_ftpsockets
GD - 56 verwendet
wp-admin\includes\image-edit.php
wp-admin\includes\image.php
wp-includes\media.php
Hash - 6 verwendet
wp-includes\pluggable.php
Mehrfachnutzung (optional - Fallback inwp-includes\compat.php
)iconv - 5 verwendet
SimplePie
(optional)wp_check_invalid_utf8()
(Optional)wp-mail.php
(Optional)JSON - 20 verwendet
wp-includes/compat.php
libxml - 4 verwendet
WP_oEmbed->_parse_xml()
(optional)Multibyte String - 29 verwendet
wp-includes/compat.php
MySQL - 60 verwendet
wpdb
class(mit class überschriebenSimplePie_Cache
WP_Feed_Cache
)OpenSSL - 4 verwendet
PHPMailer
PCRE- 743 verwendet
SimpleXML - 1 verwendet
WP_oEmbed
(scheint optional zu sein)Sockets - 64 verwendet
ftp
(sockets
Implementierung)SPL - 3 verwendet
Tokenizer - 3 verwendet
wp_doc_link_parse()
(Optional)XML Parser - 89 verwendet
XMLReader - 1 verwendet
Zlib - 30 verwendet
quelle
Die Antwort darauf könnte kompliziert und sehr lang sein, soweit ich weiß, wird es auch einige Unterschiede zwischen Servern und Betriebssystemen (IIS, Apache) geben. Ich kann nicht sagen, dass die folgende Liste eine VOLLSTÄNDIGE Liste ist, aber sie enthält Einige von denen, die ich kenne, sind erforderlich:
Locken und CurlSSL - Nicht sicher , es ist ERFORDERLICH aber aber viel von dem Wordpress - Code wird es verwenden , wenn es verfügbar ist. Viele Plugins benötigen es jedoch und / oder werden ohne es eingeschränkte Funktionen haben.
Exif - Ermöglicht dem Media Handler von WordPress, Exif-Daten aus Bildern zu ziehen.
Gettext - .po .mo Übersetzungslokalisierung Internationalisierung
FTP - wird verwendet, um Plugins und WordPress-Upgrades über FTP durchzuführen.
GD - Keine Einführung nötig, oder?
Iconv - Zeichensatzkonvertierungen für alles von Mail bis RSS-Parsing.
Mbregex und Mbstring - der Name ist ziemlich beschreibend - bieten Funktionen, die überall verwendet werden :-)
Mcrypt - Wird für WordPress nicht benötigt, wird aber von vielen Plugins benötigt.
Mime Magic - jetzt in WordPress veraltet - aber immer noch gut für die Rückenverträglichkeit zu haben.
* MySQL und MySQL des Systems * - wir alle wissen, was das ist und warum es benötigt wird, nein?
Openssl - Diese Bibliothek wird verwendet, um mit SSL-Zertifikaten verschlüsselte Verbindungen zu verarbeiten, damit WordPress möglicherweise eine Verbindung zu einem beliebigen SSL (https) -verschlüsselten Speicherort herstellen kann.
POSIX - wird verwendet, um sicherzustellen, dass WordPress Dateiberechtigungen und -eigner ordnungsgemäß verwaltet.
Path Info Check - einige Einstellungen für Permalinks.
Pspell - Rechtschreibprüfungsfunktionen für TinyMCE,.
Sockets - Verwalten von FTP-Verbindungen und E-Mail-Verarbeitung von AKA SMTP und POP in WordPress.
Zip - Nicht sicher, ob erforderlich - aber diese plattformübergreifende Klasse zum Erstellen und Extrahieren von Zip-Dateien wird von WordPress verwendet, sofern verfügbar.
Zlib - In vielen Fällen verwendet. Beispiel - Js und CSS-Dateien Komprimierung. wenn auch hier nicht sicher ERFORDERLICH aber notwendig.
Wie oben erwähnt - dies ist keineswegs eine vollständige Liste - Es wurde vor etwa einem Jahr erstellt - und es könnte ein Update erforderlich sein. Viele dieser Funktionen sind nicht unbedingt ERFORDERLICH, sondern EMPFOHLEN . In vielen Fällen verwendet WordPress eine Funktion, WENN diese verfügbar ist, und wenn nicht, ignoriert WordPress die Aufgabe. Ein gutes Beispiel ist das Fehlen einer GD-Bibliothek, die WordPress nicht anhält, aber die hochgeladenen Bilder nicht zuschneidet, in der Größe ändert oder verändert - so bleibt das Original erhalten (und die Option "Größe" in "Einfügen" wird ausgegraut image to post "-Funktion) ..
Als Randnotiz - ich würde auch sagen, dass diese Frage auf serverfault.com wahrscheinlich korrektere / aktuellere Antworten erhält als hier ...
quelle
( Dies ist keine Antwort. Nur ein paar nützliche Informationen. Wenn Sie der Meinung sind, dass diese Informationen nicht nützlich sind, lassen Sie es mich wissen, ich werde sie einfach löschen.)
Ich denke, in Bezug auf Pakete zu sprechen, wäre für Neulinge einfacher, aber da Pakete von System zu System variieren, ist es schwierig, alle abzudecken.
Da ich Erfahrung mit Debian (und Debian-basierten Distributionen) habe, möchte ich diese spezifischen Informationen weitergeben:
Mit den oben genannten Paketen werden alle in den anderen Antworten genannten Erweiterungen / Bibliotheken / Module installiert. Alles außer Mime Magic, das von WordPress nicht mehr benötigt wird .
Eine andere gute Möglichkeit, um sicherzustellen, dass Ihr Server zu 100% mit WordPress kompatibel ist, besteht darin, zu überprüfen, mit welchen Paketen die verwalteten Hosting-Unternehmen vorinstalliert sind. Da sie jahrelange Erfahrung mit Kundenbeschwerden über Inkompatibilitäten haben, wissen sie es besser.
Im Falle von Hostgator enthalten die vorinstallierten PHP-Module (wahrscheinlich benötigen Sie nur die meisten, aber nicht alle):
Media Temple stellt eine
phpinfo();
Datei zur Verfügung, mit der Sie die Konfiguration überprüfen können. Es ist auch zu Vergleichszwecken nützlich.quelle
Wenn Sie auf einfache Weise überprüfen möchten, ob Ihr Server diese Anforderungen erfüllt, gibt es jetzt einen praktischen WP-CLI ext-Befehl .
wp ext required
zeigt alle PHP - Erweiterungen notwendig Wordpress zu laufen, währendwp ext recommended
zeigt optional diejenigen.wp ext check
ist eine Kombination aus beiden Befehlen.Diese sind nützlich, wenn Sie schnell die Systemanforderungen auf einem neuen Server überprüfen und / oder diese Liste programmgesteuert weiterverarbeiten möchten.
So
wp ext required
funktioniert 's :quelle
Ich habe meinen WordPress-Umgebungstester entwickelt. Es ist eine einfache Klasse, die auf Web-SAPI oder CLI ausgeführt wird. Dies ist die gepflegte Version https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php
Basierend auf der Arbeit von @rarst
quelle
Wenn Sie Debian 7 (Debian Wheezy) verwenden, müssen Sie PHP selbst und eine kleine Anzahl von Erweiterungen installieren. Das meiste, was von @Rarst erwähnt wurde, ist bereits in einer der grundlegendsten PHP-Installationen von Debian enthalten.
PHP
Sie haben in Debian Wheezy vier Möglichkeiten: libapache2-mod-php5 , libapache2-mod-php5filter , php5-cgi oder php5-fpm . Ich wähle php5-fpm, aber es hängt alles davon ab, wie Ihr Webserver und PHP interagieren sollen.
MySQL
Sie benötigen auch PHP, um MySQL zu verwenden. Ihre Optionen sind php5-mysql und php5-mysqlnd . php5-mysqlnd ist nativ und im Allgemeinen schneller. Einige könnten eine Alternative wie MariaDB wählen.
Grafikbibliothek Optional
Wenn Sie möchten, dass die Größe Ihrer Bilder geändert wird, können Sie entweder php5-gd oder php5-imagick installieren . php5-imagick bietet Ihnen eine bessere Qualität und Wordpress verwendet es, wenn es verfügbar ist. Wenn beide installiert sind, wird php5-imagick verwendet. Wenn beides nicht installiert ist, wird die Größe der Bilder nicht geändert (und Wordpress beschwert sich nicht).
HTTP Optional
Wenn Sie php5-curl installieren , wird es verwendet, ist aber nur für eine bessere Leistung erforderlich.
Für Wordpress und die meisten Erweiterungen ist nichts anderes erforderlich, obwohl für einige Erweiterungen möglicherweise andere Anforderungen gelten.
Hier ist die komplette Basis-Installationslinie, die Wordpress alles bietet, was es für eine optimale Leistung benötigt, und nichts, was es nicht tut:
quelle
Es ist erwähnenswert, dass es seit WordPress 5.2 eine integrierte Funktion gibt, die über fehlende Module berichtet. Sie finden es unter Tools> Site Health.
quelle
Ein kleines "Cheatsheet" bei der Installation von PHP für Wordpress unter Debian:
0. Fügen Sie das DotDeb-Repository hinzu
Fügen Sie Ihrer
/etc/apt/sources.list
Datei diese beiden Zeilen hinzu :Fügen Sie den GPG-Schlüssel hinzu:
Aktualisieren Sie die "Paketliste":
1. Installieren Sie PHP 7:
Quelle: http://php.net/manual/en/install.unix.debian.php
2. Liste der Module, die im Paket "php7.0-common" enthalten sind:
Quelle: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. So installieren Sie die zusätzlichen Module, die von WordPress benötigt / empfohlen werden:
Quelle: https://wordpress.stackexchange.com/a/42141/107878
4. Ich konnte folgendes auf debian nicht finden:
5. "apt-cache search php7" gibt zurück:
Referenz: https://packages.debian.org/source/sid/php7.0
quelle
Das WordPress-Handbuch listet nun die empfohlenen PHP-Module auf:
Außerdem werden die folgenden PHP-Erweiterungen als optional aufgeführt:
quelle
mod_xml
mit irgendetwas zu tun hat, da core weder XML-Sitemaps implementiert noch an die Ausführung auf einem bestimmten Webserver gebunden ist.Sie benötigen die Erweiterungen mysqli, pdo und gd. und manchmal xml-rpc.
Ich habe WP mit der nativen mysqlnd-Erweiterung für eine Weile ausgeführt, es ist ziemlich ordentlich. Wenn Sie also sehen möchten, was mit der Datenbank in dieser bestimmten Anfrage los ist, können Sie dies tun.
zip als erweiterung wird nicht benötigt, die meisten programme nennen das system zip ausführbar.
quelle