wake-up-neo.net

Maximale Änderungen der Upload-Größe in der php.ini ignoriert - Wie entferne ich die Upload-Größenbeschränkung?

Ich arbeite an einer WP Installation mit mehreren Standorten und muss Inhalte von anderen Wordpress-Sites (.wxr-Dateien) importieren. Wenn ich das WordPress importieren Plugin benutze, habe ich folgendes:

enter image description here

Die maximal zulässige Upload-Größe ist nur 1MB, während ich 100MB in meinem php.ini festgelegt habe. Ein Aufruf von phpinfo() teilt mit, dass die .ini-Werte sollte gelten:

enter image description here

Was ist da los? Ich habe die meisten Suchergebnisse für upload_max_filesize auf dieser Site gelesen , aber keiner funktioniert.

Hinweis: Dies passiert nur mit Wordpress. Ich habe Symfony2-Sites und kann Dateien mit einer Größe von 100 MB und mehr hochladen. Ja, es sind die richtigen php.ini-Einstellungen, und der Apache-Server wendet sie ordnungsgemäß an.

MU Wordpress Plugin schreiben

Nach @kaiser suggestion habe ich eine /wp-content/mu-plugins/uploadSizeLimit.php Datei erstellt und diese darauf geschrieben:

/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter(
    'upload_size_limit',
    function ( $limit = 0, $u_bytes = 0, $p_bytes = 0 ) {
        return 
               current_user_can( 'manage_options' ) 
               ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
               : $limit;
    }
);

Wie verwende ich das, um das zu erreichen, was ich brauche?

2
ReynierPM

Danke @kaiser aber ich muss deine Lösung nicht durchgehen Ich habe eine einfache gefunden und ich werde sie hier für Neulinge teilen, die mich mögen.

Wenn Sie an einer WP -Netzwerksite arbeiten, sind die folgenden Schritte auszuführen:

  1. Bewegen Sie den Mauszeiger oben über Meine Websites und klicken Sie dann auf Netzwerkadministrator.
  2. Bewegen Sie den Mauszeiger links über Einstellungen und klicken Sie dann auf Netzwerkeinstellungen.
  3. Scrollen Sie zum Ende der Seite und ändern Sie die maximale Upload-Dateigröße auf eine beliebige Größe in KB.
  4. Klicken Sie auf Änderungen speichern.

Indem ich diesen Wert auf 500000 gesetzt habe, habe ich 500M als max_file_size-Upload erhalten. Credits ist für Benutzer hier

5
ReynierPM

Es gibt einen Filter mit dem Namen 'upload_size_limit', in dem Sie sollten den Wert ändern können. Füge einfach ein kleines mu-Plugin für diesen Job hinzu:

<?php
/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter( 'upload_size_limit', function( $limit = 0, $u_bytes = 0, $p_bytes = 0 )
{
    return (
        in_array( get_current_screen()->base, array( /* Add Screen "base"s here */ )
        and current_user_can( 'manage_options' )
    )
        ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
        : $limit;
} );

Wie Sie sehen, überprüfe ich auch, ob eine get_current_screen()s-Eigenschaft namens base vorhanden ist. Sie können auch nach verschiedenen Eigenschaften suchen, aber stellen Sie sicher, dass Sie die Bildschirme einschränken, in denen das Entfernen/Ändern des Standardgrenzwerts für die Bildschirme gilt, in denen Sie ihn wirklich benötigen.

1
kaiser