He creado un sitio de staging para realizar cambios en el sitio de producción. En el sitio de staging, noté que en cada página/artículo donde hay una conexión al foro de Discourse, aparece este error:
Advertencia: libxml_disable_entity_loader() ha sido deshabilitado por razones de seguridad en /www/way_to_my_puglin_folder/wp-discourse/lib/template-functions.php en la línea xxx.
Como es un entorno de staging, pensé que Discourse no reconocía el sitio legítimo y había desactivado algunas funciones. Sin embargo, acabo de subir el sitio de staging a producción y el error sigue presente (en el sitio de producción, con la URL legítima). ¿Tienes alguna idea de qué puedo hacer para eliminarlo?
El problema surge porque tu proveedor de hosting ha deshabilitado una función de PHP llamada libxml_disable_entity_loader, la cual se utiliza en el plugin WP Discourse.
Esa función se usa en una gran variedad de plugins de WordPress y está totalmente soportada en PHP 7.*, aunque ha sido obsoleta en PHP 8.0. En el plugin WP Discourse la descontinuaremos en un futuro próximo, junto con otras tareas para garantizar la compatibilidad total con PHP 8.0; de hecho, ya la he subido en mi lista de pendientes.
¿Podrías confirmar:
La versión de PHP que estás utilizando (perdona si no fui claro con tu referencia a PHP 7; ¿quieres decir que esa es la versión que ejecutas?)
Tu proveedor de hosting. Quizás valga la pena consultarles sobre la posibilidad de habilitarla en tu(s) instancia(s). La función está soportada en PHP 7.*.
Gracias @angus. Lo extraño es que no apareció en el sitio de producción anterior, solo en el de staging (es decir, una copia completa). Confirmo que PHP es 7.4.11 y el proveedor de alojamiento es Kinsta. Lo consultaré con ellos. ¡Gracias!
Hola @Romain_Bisseret, solo una nota para indicarte que eliminar el uso de libxml_disable_entity_loader está en mi agenda para abril (es decir, para finales de mes) como parte de una revisión de compatibilidad con PHP 8.0.