Wp-rocket: PHP-Hinweise beim Aktualisieren

Erstellt am 17. März 2020  ·  5Kommentare  ·  Quelle: wp-media/wp-rocket

Beschreibe den Fehler
Während des Aktualisierungsprozesses erschienen 2 PHP-Hinweise in den Protokollen:

[17-Mar-2020 13:37:45 UTC] PHP Notice:  Undefined variable: home_root_escaped in /****/wp-content/plugins/wp-rocket/inc/functions/options.php on line 252
[17-Mar-2020 13:37:45 UTC] PHP Stack trace:
[17-Mar-2020 13:37:45 UTC] PHP   1. {main}() /****/wp-admin/admin-ajax.php:0
[17-Mar-2020 13:37:45 UTC] PHP   2. do_action() /****/wp-admin/admin-ajax.php:45
[17-Mar-2020 13:37:45 UTC] PHP   3. WP_Hook->do_action() /****/wp-includes/plugin.php:478
[17-Mar-2020 13:37:45 UTC] PHP   4. WP_Hook->apply_filters() /****/wp-includes/class-wp-hook.php:312
[17-Mar-2020 13:37:45 UTC] PHP   5. rocket_upgrader() /****/wp-includes/class-wp-hook.php:288
[17-Mar-2020 13:37:45 UTC] PHP   6. flush_rocket_htaccess() /****/wp-content/plugins/wp-rocket/inc/admin/upgrader.php:27
[17-Mar-2020 13:37:45 UTC] PHP   7. get_rocket_htaccess_marker() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:56
[17-Mar-2020 13:37:45 UTC] PHP   8. get_rocket_htaccess_mod_rewrite() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:148
[17-Mar-2020 13:37:45 UTC] PHP   9. get_rocket_cache_reject_uri() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:271
[17-Mar-2020 13:37:45 UTC] PHP Notice:  Undefined variable: home_root_len in /****/wp-content/plugins/wp-rocket/inc/functions/options.php on line 254
[17-Mar-2020 13:37:45 UTC] PHP Stack trace:
[17-Mar-2020 13:37:45 UTC] PHP   1. {main}() /****/wp-admin/admin-ajax.php:0
[17-Mar-2020 13:37:45 UTC] PHP   2. do_action() /****/wp-admin/admin-ajax.php:45
[17-Mar-2020 13:37:45 UTC] PHP   3. WP_Hook->do_action() /****/wp-includes/plugin.php:478
[17-Mar-2020 13:37:45 UTC] PHP   4. WP_Hook->apply_filters() /****/wp-includes/class-wp-hook.php:312
[17-Mar-2020 13:37:45 UTC] PHP   5. rocket_upgrader() /****/wp-includes/class-wp-hook.php:288
[17-Mar-2020 13:37:45 UTC] PHP   6. flush_rocket_htaccess() /****/wp-content/plugins/wp-rocket/inc/admin/upgrader.php:27
[17-Mar-2020 13:37:45 UTC] PHP   7. get_rocket_htaccess_marker() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:56
[17-Mar-2020 13:37:45 UTC] PHP   8. get_rocket_htaccess_mod_rewrite() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:148
[17-Mar-2020 13:37:45 UTC] PHP   9. get_rocket_cache_reject_uri() /****/wp-content/plugins/wp-rocket/inc/functions/htaccess.php:271

Fortpflanzen

  1. Installieren Sie eine alte Version von WP Rocket
  2. Löschen Sie die Protokolldatei
  3. Aktualisieren Sie das Plugin

Erwartetes Verhalten
Keine neuen Zeilen in der Protokolldatei.

Zusätzlicher Kontext

  • Ich habe WPR von 3.4.4 auf 3.5.0.3 aktualisiert
  • WordPress 5.3.2

Rückstandspflege

  • [x] Reproduzieren Sie das Problem
  • [x] Identifizieren Sie die Ursache
  • [x] Scope eine Lösung
  • [x] Schätzen Sie den Aufwand ein
[S] low bug

Alle 5 Kommentare

Identifiziere die Ursache ✅
inc/functions/options.php - get_rocket_cache_reject_uri() Funktion
Die Ursache ist die Erklärung von

        $home_root_escaped = preg_quote( $home_root, '/' );
        $home_root_len     = strlen( $home_root );

was in einer if-Bedingung geschieht:
if ( '' !== $home_root && $uris ) {
Diese Variablen werden im Folgenden verwendet und sind anscheinend nicht definiert:
https://github.com/wp-media/wp-rocket/blob/8b2a567efcab3925dba6fff72c5a622ec2d16386/inc/functions/options.php#L198 -L199

Scope eine Lösung ✅
Die Lösung besteht darin, die Deklaration dieser 2 Variablen in diese Funktion global zu verschieben.

Schätze den Aufwand
Bemühungen]
Der Aufwand wird in die Unit & Integration Tests gehen.

Mir ist gerade das Problem auf mega/Divi aufgefallen und ich kann es replizieren, indem ich das Vorladen aktiviere.

@GeekPress @hellofromtonya Sollen wir die Priorität dieses Problems erhöhen? Es ist trivial, aber da wir davon wissen und es leicht zu beheben ist, sollten wir dies meiner Meinung nach nicht in unserem Code belassen.

@arunbasillal Die Priorität wird abhängig von der Kritikalität des Problems festgelegt. Dieser ist nicht kritisch und wird „niedrig“ sein, weil:

  • die Fehler werden nur in den Protokollen angezeigt
  • es unterbricht keines unserer Features
  • die Anzahl der Tickets zu diesem Thema ist sehr gering

Zugehöriges Ticket:
https://secure.helpscout.net/conversation/1238067915/183094/

Dieser Fehler wird beim Aktivieren unseres Plugins protokolliert:
[01-Aug-2020 11:54:49 UTC] PHP Notice Undefined variable: home_root_len in /var/www/vhosts/managed.hosting.com/managed.hosting.com/site/wp-content/plugins/wp-rocket/inc/functions/options.php on line 261

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen