Welche Priorität hat WordPress, wenn es um php.ini, wp-config und .htaccess geht?

Nehmen wir an, ich möchte das maximale Upload-Limit für eine WordPress-Website ändern und gebe folgende Werte ein:

wp-config.php: 128MB php.ini: 256MB .htaccess: 64MB

Also, welchen würde WordPress bei der Verarbeitung nach Bedarf priorisieren?

Solutions Collecting From Web of "Welche Priorität hat WordPress, wenn es um php.ini, wp-config und .htaccess geht?"

Es ist nicht klar aus Ihrer Frage, was Sie in jeder dieser Dateien ändern, aber ich upload_max_filesize , dass es in jedem Fall die PHP-Einstellung upload_max_filesize .

Im Allgemeinen werden die Einstellungen in dieser Reihenfolge angewendet, wobei jeder den vorherigen Wert überschreitet:

  1. php.ini
  2. Apache-statementen in .htaccess
  3. Aufrufe von ini_set()

Diese Einstellung ist jedoch als PHP_INI_PERDIR definiert, was, wie auf dieser Seite erklärt, bedeutet, dass es nicht mit ini_set gesetzt werden ini_set , so dass die wp-config.php es nicht ändern kann. Also in dem Beispiel, das Sie in der Frage geben, wird es den Wert von .htaccess von 64MB nehmen.

Sie können dies überprüfen, indem Sie echo ini_get('upload_max_filesize'); irgendwo in deinem Code.

Beachten Sie, dass an anderen Stellen Werte festgelegt werden können, die ich oben nicht aufgeführt habe, z. B. pro Benutzer php.ini-Dateien und andere Apache-Konfigurationskontexte . Einige davon können auch deaktiviert werden. Wenn Ihr Server nicht auf Überfahrten in .htaccess eingestellt ist, können Sie dort auch keinen Wert festlegen.

Beachten Sie auch, dass WordPress einige seiner eigenen Konfigurationsvariablen enthält, die auf unterschiedliche Weise mit der PHP-Konfiguration interagieren. Zum Beispiel wird WP_MEMORY_LIMIT versuchen , die PHP-Einstellung memory_limit beim Start zu erhöhen , hat aber einen Code, der sie prüft und niemals senkt . Es gibt keine allgemeine Regel dafür, es wird für verschiedene Einstellungen unterschiedlich sein.

Grundsätzlich werden alle drei Dateien berücksichtigt.

WordPress / Ihr Server wird in der folgenden Reihenfolge prüfen:

wp-config.php > .htaccess > php.ini

Wenn etwas auf einer “höheren Ebene” (später in der Kette) Ihren Wert einschränkt, wird der vorherige Wert ignoriert oder überschrieben. Wenn ein Teil der Kette fehlt, wird stattdessen der Wert in .htaccess verwendet, stattdessen wird der nächsthöhere Wert verwendet.

In Ihrem Beispiel würde die .htaccess die max_upload_size auf 64 MB begrenzen, obwohl Ihr Server mit bis zu 256 MB in Ordnung wäre und WordPress auch zuerst eine Dateigröße von bis zu 128 MB akzeptieren würde.

Sie können über die .htaccess Datei auch ein anderes Limit setzen und überschreiben dabei den Wert aus der php.ini , so dass dieser nicht mehr der dominierende Wert ist. Dies funktioniert in vielen Hosting-Umgebungen, also sind die Chancen ziemlich gut, dass Sie die max_upload_size auf diese Weise erhöhen oder max_upload_size können.

Wenn Sie ein stärker konfiguriertes Hosting / Server haben, ist es möglich, dass die Option zum Überschreiben der Einstellungen von php.ini deaktiviert ist. In diesem Fall max_upload_size Überschreiben von max_upload_size aus .htaccess nicht, was ein begrenzender Faktor sein könnte.

Ich denke, Flomei sollte die Antwort bearbeiten, denn das ist die richtige Antwort, aber schlechte Erklärung. Php.ini -> .htaccess -> wp-config.php ist eigentlich die Reihenfolge, in der jede Datei gelesen wird, und Php.ini -> .htaccess -> wp-config.php die Werte fest, wobei berücksichtigt wird, dass es keine zuvor definierte Einstellung gibt. Wenn es jedoch eine zuvor definierte Einstellung gibt, wird diese nur dann “überfahren”, wenn die neue Einstellung niedriger ist.

Das heißt, wenn Sie wp-config.php mit 64Mb und .htaccess mit 32MB haben: wp-config.php wird diese Einstellung nicht überschreiben, weil es bereits eine untere Grenze gibt und Sie werden mit 32Mb enden.

Aber wenn Sie wp-config.php mit 32Mb und .htaccess mit 64 MB haben, wird wp-config.php die vorherige Einstellung auf 32Mb senken.

Bearbeiten: Um zu verdeutlichen, wie IMSoP darauf hinweist, können Sie mit wp-config.php nur eine restriktivere Größe einstellen, als die PHP-Einstellungen erlauben, wenn Sie ‘WP_MEMORY_LIMIT’ ändern, es lässt Sie nicht darüber hinausgehen. Es handelt sich also nicht um eine Einstellungsüberschreibung. Tatsächlich gibt es getrennte Prüfungen, die zur Laufzeit an verschiedenen Punkten durchgeführt werden. Wenn Sie die php-Einstellung upload_max_filesize so upload_max_filesize wie er es annimmt (die Frage zeigt nicht, welche Einstellungen Sie ändern), hat dies keine Auswirkungen.

Außerdem müssen Sie berücksichtigen, dass die upload_max_filesize in Ihren PHP-Einstellungen größer als upload_max_filesize post_max_size muss