Describe el error
Durante el proceso de actualización, aparecieron 2 avisos de PHP en los registros:
[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
Reproducir
Comportamiento esperado
No hay nuevas líneas en el archivo de registro.
Contexto adicional
Aseo de la cartera de pedidos
Identifica la causa raíz ✅
inc/functions/options.php
- get_rocket_cache_reject_uri()
función
La causa raíz es la declaración de
$home_root_escaped = preg_quote( $home_root, '/' );
$home_root_len = strlen( $home_root );
que se hace en una condición if:
if ( '' !== $home_root && $uris ) {
Estas vars se usan a continuación y parece que no están definidas:
https://github.com/wp-media/wp-rocket/blob/8b2a567efcab3925dba6fff72c5a622ec2d16386/inc/functions/options.php#L198 -L199
Alcance una solución ✅
La solución será mover la declaración de estas 2 vars para que esté globalmente en esta función.
Estima el esfuerzo ✅
Esfuerzo: [S]
El esfuerzo irá en las pruebas de Unidad e Integración.
Acabo de notar el problema en mega/Divi
y puedo replicarlo habilitando la precarga.
@GeekPress @hellofromtonya ¿Incrementaremos la prioridad de este tema? Es trivial, pero como lo sabemos y es fácil de arreglar, creo que no deberíamos dejar que esto resida en nuestro código.
@arunbasillal La prioridad se establece en función de la gravedad del problema. Este no es crítico y será "bajo" porque:
Boleto relacionado: https://secure.helpscout.net/conversation/1171062698/166759?folderId=273764#thread -3340520759
Boleto relacionado:
https://secure.helpscout.net/conversation/1238067915/183094/
Este error se registra al habilitar nuestro complemento:
[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