Errores Críticos de WordPress – Sesión PHP activa y API REST ha encontrado un error

Categorias: Wordpress

Errores Críticos de WordPress - Sesión PHP activa y API REST ha encontrado un error

Desde hace ya algunas versiones de WordPress, podemos encontrar un apartado en el que se examina la salud del sitio. Hay un par de errores que confunden a los usuarios, la sesión PHP activa y el error en la API REST. Veamos qué son y cómo podemos solucionarlos.

En la versión 5.2 de WordPress nos encontramos con una nueva característica que nos informaba de la salud del sitio.

Con un rápido análisis, el propio WordPress nos indica cuáles son los problemas que detecta, para de esa forma, intentar solucionarlos y así mejorar la seguridad y el rendimiento de nuestro WordPress.

Errores críticos en WordPress - Salud del Sitio

El informe que presenta la Salud del Sitio es de lo más variado, mostrando errores críticos, mejoras y pruebas superadas.

Entre los problemas que se suelen encontrar, está la versión de PHP, los plugins o themes inactivos, si se está utilizando una conexión segura HTTPS o problemas de rendimiento o del propio WordPress.

Entre todos los errores que podemos ver, hay 2 errores críticos que, cada vez más, aparecen en la salud del sitio y que no ofrece mucha más información, lo que crea confusión entre los usuarios.

Los errores de los que hablamos son los siguientes:

Errores Sesión activa de PHP y API REST

 

Se ha detectado una sesión PHP activa

El error crítico de la sesión activa de PHP es uno de los más habituales y el primero que aparece.

La explicación completa es la siguiente:

Se ha detectado una sesión PHP activa

Se ha creado una sesión PHP por la llamada a la función session_start(). Esto interfiere con la API REST y las solicitudes de retorno. La sesión debería ser cerrada por session_write_close() antes de hacer cualquier solicitud HTTP.

Se ha detectado una sesión PHP activa

Como verás, esto no dice mucho para la mayoría de los mortales, pero leemos un poco veremos que se trata de que una sesión PHP está activa y debería de cerrarse al terminar.

Si hay muchas sesiones PHP activas, consumen los recursos del hosting y esto puede provocar lentitud o incluso la caída del sitio.

El problema de este aviso es que no tiene que ver con tu WordPress, ni con el servicio de hosting web.

Este problema lo suele causar un plugin o un theme que tengamos instado en nuestro WordPress ¿cuál? pues desgraciadamente la salud del sitio no lo indica, así que no lo podemos saber de una forma sencilla.

Si sabes editar código, lo tendrás más fácil, ya que sólo debes encontrar la cadena session_start() entre el código de los plugins y themes para saber cuál es el responsable.

Como esto no es algo que esté disponible para la mayoría de los usuarios de WordPress, ya que se necesitan conocimientos técnicos y no todos los usuarios de WordPress los tenemos, podemos recurrir al clásico prueba y error.

Podemos ir desactivando los plugins que tengamos activos de uno en uno y revisar en cada una de las acciones que hagamos, la Salud del Sitio, para ver si desaparece el error.

En nuestro caso, el elemento que estaba causando el error, era un plugin llamado UpiCRM, pero esto es sólo un ejemplo y así debes de tomarlo.

Errores críticos de WordPress - Ningún error crítico

Una vez hayas detectado plugin o el theme que está causando el problema, debes ponerte en contacto con el desarrollador del plugin explicándole el problema.

Es el propio desarrollador el que debe añadir el código para cerrar la sesión PHP cuando sea necesario, posiblemente desde alguna actualización del plugin.

 

La API REST ha encontrado un error

El siguiente error crítico que podemos encontrar está en la API REST, siendo el mensaje completo el siguiente:

La API REST ha encontrado un error

La API REST es una forma en que WordPress y otras aplicaciones se comunican con el servidor. Un ejemplo es la pantalla del editor de bloques, que se basa en esto para mostrar y guardar tus publicaciones y páginas.

Ha fallado la solicitud a la API REST debido a un error.
Error: cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received (http_request_failed)

La API REST ha encontrado un error

Bien, este error de API REST suele tratarse de forma distinta en la mayoría de los casos, pero del mismo modo que el error anterior, es provocado por algún plugin o theme.

API REST se encarga de la comunicación de una aplicación con el servidor (hosting).

Un plugin instalado puede comprobar si la conexión API REST con el servidor es correcta, pero sólo realiza una comprobación, sin tener en cuenta el software instalado en el sistema y su configuración.

Esto no significa que cURL no esté instalado en tu hosting, que no esté funcionando o que el plugins que está provocando el error, no funcione correctamente.

En cualquier caso, si no quieres ver este error en la salud del sitio, puedes instalar un plugin como WordPress Native PHP Sessions.

Plugin Native PHP Sessions for WordPress

Se trata de un proyecto en el que se añaden los controladores de sesión nativos de PHP en WordPress, ya que de por si, WordPress no usa sesiones PHP.

Con este plugin, con el que tan sólo hace falta instalar y activar, se solucionan la mayoría de las alertas críticas que la Salud del Sitio de WordPress indica.

Por supuesto, también puedes comprobar cuál es el plugin que causa la alerta y consultarlo con el desarrollador del plugin.

 

Hosting WordPress SSD + LiteSpeed

Si necesitas un hosting WordPress que sea capaz de cargar tu web en un tiempo récord, nuestros alojamientos web con discos SSD y servidor LiteSpeed, son perfectos para esto.

Además contarás con soporte técnico especializado atendido por teléfono y correo electrónico, además de certificados SSL gratuitos para tus dominios.

Hosting WordPress