Pregunta sobre Health Check & Troubleshooting de Wordpress:

No funciona bien con sesiones PHP.

Un usuario preguntó 👇

Aquí está el mismo error que informé hace algún tiempo sobre el sandbox del editor de temas / plugins introducido en WP 4.9.2: https://core.trac.wordpress.org/ticket/43358

Health Check no comprueba si una sesión está activa antes de probar la API REST (get_test_rest_availability). Si lo hay, cURL tendrá tiempo libre debido al bloqueo exclusivo de la sesión.

Todos estos subprocesos de soporte también contienen plugins que utilizan sesiones PHP: https://wordpress.org/support/topic/loopback-request-failed-7/ https://wordpress.org/support/topic/rest- api- loopback -request-issue /

El nuevo sitio de salud integrado tiene el mismo problema.

(@capbussat)

Hace 1 año, 9 meses

Mismo problema, uso este código de sesión

function mis_cursos_register_session(){
     if( !session_id() ) // DEBUG && !headers_sent()
        session_start();		
}

// session
function mis_cursos_destroy_session() {
     // if( !session_id()) DEBUG
        // session_start();
    session_destroy ();
}

add_action('init','mis_cursos_register_session'); // DEBUG interferes with REST_API !

Y recibo este mensaje de Site Health:

La solicitud de la API REST falló debido a un error. Error: [] Error 28 de CURL: operación temporizada después de 10002 milisegundos y 0 bytes obtenidos

(Desarrollo un plugin que usa SESSION VARIABLE para almacenar datos para FILE ID con el fin de buscar el archivo real de un directorio oculto y descargar el archivo de FORM antes de enviar encabezados. Si usamos SESSION para almacenar la variable).

(@capbussat)

Hace 1 año, 9 meses

Sería más complicado si pudiera iniciar una sesión en páginas específicas donde necesito descargar archivos. Creo que tiene que haber una forma de hacer esto, pero todo el código está dentro de un código corto que podría incluirse en cualquier página.

(@capbussat)

Hace 1 año, 9 meses

Bueno, antes que nada, he aprendido algo sobre SESSIONS y el bloqueo de sesión mediante la función session_start (). Este artículo fue muy útil evitar el bloqueo de la sesión
En segundo lugar, en la práctica, actualmente tengo algunos de mis códigos deshabilitados en las páginas de administración, ya que obviamente interferiría con REST_API. Sería útil usar una función específica de la función session_start () en algunas de mis páginas de administración, pero por ahora lo dejaré así.


if ( !is_admin() ){
    // Avoid session locks with REST_API 
    add_action('init','mis_cursos_register_session'); 
    add_action('wp_logout', 'mis_cursos_destroy_session');
    add_action('wp_login', 'mis_cursos_destroy_session');
}

Additionally, can use session_write_close() after session variable writing.

En tercer lugar, no creo que Site Health esté mal. Los bloqueos de sesión son reales y nunca desaparecerán.

Esta respuesta fue modificada hace 1 año, 9 meses por. Esta respuesta fue modificada hace 1 año, 9 meses. Esta respuesta fue modificada hace 1 año, 9 meses por.

(@clorith)

Hace 1 año, 8 meses

Hola

No permitiéndole hacer que esto pase desapercibido, hay un ticket en https://core.trac.wordpress.org/ticket/47320 que analiza varios casos relacionados con esto, sus hallazgos estarían aquí @capbussat, muy útil, ¿le gustaría? para compartirlos entonces?

(@capbussat)

Hace 1 año, 8 meses

Gracias, publicaré entonces.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.