Wp-rocket: Avisos de PHP ao atualizar

Criado em 17 mar. 2020  ·  5Comentários  ·  Fonte: wp-media/wp-rocket

Descreva o bug
Durante o processo de atualização, 2 avisos PHP apareceram nos logs:

[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

Reproduzir

  1. Instale uma versão antiga do WP Rocket
  2. Limpe o arquivo de log
  3. Atualize o plugin

Comportamento esperado
Sem novas linhas no arquivo de log.

Contexto adicional

  • Eu estava atualizando o WPR de 3.4.4 para 3.5.0.3
  • WordPress 5.3.2

Backlog Grooming

  • [x] Reproduza o problema
  • [x] Identifique a causa raiz
  • [x] Escopo de uma solução
  • [x] Estime o esforço
[S] low bug

Todos 5 comentários

Identifique a causa raiz ✅
inc/functions/options.php - função get_rocket_cache_reject_uri()
A causa raiz é a declaração de

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

que é feito em uma condição if:
if ( '' !== $home_root && $uris ) {
Esses vars são usados ​​abaixo e parece que não estão definidos:
https://github.com/wp-media/wp-rocket/blob/8b2a567efcab3925dba6fff72c5a622ec2d16386/inc/functions/options.php#L198 -L199

Defina uma solução ✅
A solução será mover a declaração desses 2 vars para ser globalmente nesta função.

Faça uma estimativa do esforço ✅
Esforço: [S]
O esforço irá nos testes de Unidade e Integração.

Acabei de notar o problema em mega/Divi e posso replicá-lo ativando o pré-carregamento.

@GeekPress @hellofromtonya Devemos aumentar a prioridade desta edição? É trivial, mas como sabemos sobre isso e como é fácil de corrigir, acho que não devemos deixar isso residir em nosso código.

@arunbasillal A prioridade é definida dependendo da criticidade do problema. Este não é crítico e será «baixo» porque:

  • os erros são exibidos apenas nos registros
  • não quebra uma de nossas características
  • o número de tíquetes sobre este problema é muito baixo

Tíquete relacionado:
https://secure.helpscout.net/conversation/1238067915/183094/

Este erro é registrado ao habilitar nosso plugin:
[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

Esta página foi útil?
0 / 5 - 0 avaliações