Cómo Solucionar el Error 500
Internal Server en Tu Sitio Web
Downloaded on: 01 March 2024
Ship and manage your
web projects faster
Deploy your projects on Google Cloud Platform's top tier
infrastructure. You'll get 25+ data centers to choose
from, 24/7/365 expert support, and advanced security
with DDoS protection.
Try for free
El temido error 500 internal server. Parece que siempre llega en el momento más inoportuno
y de repente estás luchando por averiguar cómo volver a poner tu sitio online. Créenos, a
todos nos ha pasado.
Otros errores que se comportan de forma similar y que puede que también hayas visto son el
aterrador error al establecer una conexión de base de datos y la temida pantalla blanca de la
muerte. Pero desde el momento en que tu sitio se cae, estás perdiendo visitantes y clientes.
Por no mencionar que, sencillamente, da mala imagen a tu marca.
Hoy vamos a profundizar en el error 500 internal server y te explicaremos algunas formas de
volver a pone tu sitio online rápidamente. Lee más abajo sobre las causas de este error y qué
puedes hacer para evitarlo en el futuro.
Echa un Vistazo a Nuestro Videotutorial para Solucionar un Error 500 Internal Server
en tu Sitio Web
Cuando visitas un sitio web, tu navegador envía una petición al servidor donde está alojado
el sitio. El servidor recibe esta petición, la procesa y devuelve los recursos solicitados (PHP,
HTML, CSS, etc.) junto con una cabecera HTTP.
El HTTP también incluye lo que llaman un código de estado HTTP. Un código de estado es
una forma de notificarte el estado de la solicitud. Puede ser un código de estado 200 que
significa «Todo va bien» o un código de estado 500 que significa que algo ha ido mal.
Hay muchos tipos diferentes de códigos de error de estado 500 (500, 501, 502, 503, 504,
etc.) y todos significan algo diferente. En este caso, un error interno de servidor 500 indica
que el servidor se encontró con una condición inesperada que le impidió satisfacer la
solicitud (RFC 7231, sección 6.6.1).
Código de error Error HTTP 500
Tipo de error Código error
«Error 500 Internal Server»
«HTTP 500»
«Error Internal Server»
«HTTP 500 – Error Internal Server»
«Error 500»
Variaciones del «Error HTTP 500
error «500 – Error Internal Server»
«500 Internal Server Error. Sorry something went wrong»
“500. That’s an error. There was an error. Please try again later. That’s all we
know.”
“The website cannot display the page – HTTP 500.”
“Is currently unable to handle this request. HTTP ERROR 500.”
Caché del navegador.
Archivo .htaccess dañado y límite de memoria PHP.
Causas del error Problemas con plugins y temas de terceros.
Archivos dañados en tu instalación de WordPress.
Problemas con tu servidor de base de datos.
Variaciones del Error 500 Internal Server
— Error 500 Internal Server en WordPress
Debido a los distintos servidores web, sistemas operativos y navegadores, un error 500
internal server error puede presentarse de distintas formas. Pero todas comunican lo mismo.
A continuación te mostramos sólo algunas de las muchas variaciones diferentes que puedes
ver en la web:
“500 Internal Server Error”
“HTTP 500”
“Internal Server Error”
“HTTP 500 – Internal Server Error”
“500 Error”
“HTTP Error 500”
“500 – Internal Server Error”
“500 Internal Server Error. Sorry something went wrong.”
“500. That’s an error. There was an error. Please try again later. That’s all we
know.”
“The website cannot display the page – HTTP 500.”
“Is currently unable to handle this request. HTTP ERROR 500.”
También podrías ver este mensaje acompañándolo
El servidor ha encontrado un error interno o de configuración y no ha podido
completar tu solicitud. Por favor, ponte en contacto con el administrador del
servidor,
[email protected] e infórmale de la hora en que se ha producido
el error, y de cualquier cosa que hayas podido hacer y que haya podido causar el
error. Puedes encontrar más información sobre este error en el registro de errores
del servidor.
— Error Internal Server
Otras veces, puede que simplemente veas una pantalla blanca en blanco. Cuando se trata
de errores 500 de servidor interno, esto es bastante habitual en navegadores como Firefox y
Safari.
— Error 500 internal server en Firefox
Las grandes marcas pueden incluso tener sus propios mensajes personalizados de error 500
internal server, como éste de Airbnb.
— Error 500 internal server de Airbnb
Aquí tienes otro ejemplo creativo de error 500 internal server de Airbnb de la gente de
readme.
— readme 500 error interno del servidor
Ni siquiera el poderoso YouTube está a salvo de los errores 500 internal server
— Error 500 internal server en YouTube
Si se trata de un servidor IIS 7.0 (Windows) o superior, disponen de códigos de estado HTTP
adicionales para indicar con mayor precisión la causa del error 500:
500.0 – Module or ISAPI error occurred.
500.11 – Application is shutting down on the web server.
500.12 – Application is busy restarting on the web server.
500.13 – Web server is too busy.
500.15 – Direct requests for global.asax are not allowed.
500.19 – Configuration data is invalid.
500.21 – Module not recognized.
500.22 – An ASP.NET httpModules configuration does not apply in Managed Pipeline
mode.
500.23 – An ASP.NET httpHandlers configuration does not apply in Managed Pipeline
mode.
500.24 – An ASP.NET impersonation configuration does not apply in Managed Pipeline
mode.
500.50 – A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A
configuration or inbound rule execution error occurred.
500.51 – A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification
handling. A global configuration or global rule execution error occurred.
500.52 – A rewrite error occurred during RQ_SEND_RESPONSE notification handling.
An outbound rule execution occurred.
500.53 – A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification
handling. An outbound rule execution error occurred. The rule is configured to be
executed before the output user cache gets updated.
500.100 – Internal ASP error.
¿Cuáles Son las Causas de un Error 500 Internal Server?
Los errores 500 Internal server pueden estar causados por muchas cosas. Si estás
experimentando uno, hay una alta probabilidad de que uno (o más) de los siguientes
elementos esté causando el problema:
Caché del navegador.
Credenciales de acceso a la base de datos incorrectas.
Base de datos dañada.
Archivos dañados en tu instalación de WordPress.
Problemas con tu servidor de base de datos.
Archivos dañados del core de WordPress.
Archivo .htaccess dañado y límite de memoria PHP.
Problemas con plugins y temas de terceros.
Tiempo de espera de PHP o errores fatales de PHP con plugins de terceros.
Permisos incorrectos de archivos y carpetas.
Límite de memoria PHP agotado en tu servidor.
Archivo .htaccess dañado o roto.
Errores en los scripts CGI y Perl.
Impacto de los Errores 500 en el SEO
A diferencia de los errores 503, que se utilizan para el modo de mantenimiento de WordPress
e indican a Google que vuelva a comprobarlo más adelante, un error 500 puede tener un
impacto negativo en el SEO si no se soluciona de inmediato.
Si tu sitio sólo ha estado inactivo durante, por ejemplo, 10 minutos y está siendo rastreado de
forma constante, muchas veces el rastreador obtendrá la página de la caché. O puede que
Google ni siquiera tenga la oportunidad de volver a rastrearlo antes de que vuelva a estar
disponible. En este caso, no hay ningún problema.
Sin embargo, si el sitio está inactivo durante un largo periodo de tiempo, por ejemplo, más de
6 horas, Google podría considerar el error 500 como un problema del sitio que hay que
resolver. Esto podría afectar a tu posicionamiento. Si te preocupan los errores 500
repetidos, deberías averiguar por qué se producen. Algunas de las siguientes soluciones
pueden ayudarte.
¿Cómo Solucionar el Error 500 Internal Server?
¿Por dónde debes empezar a solucionar los problemas cuando veas un error 500 internal
server en tu sitio? A veces puede que ni siquiera sepas por dónde empezar. Normalmente
los errores 500 están en el propio servidor, pero por nuestra experiencia, estos errores se
originan por dos cosas, la primera es un error del usuario (problema del lado del cliente), y
la segunda es que hay un problema con el servidor. Así que nos sumergiremos un poco en
ambos.
This is never not annoying ? pic.twitter.com/pPKxbkvI9K
— Dare Obasanjo (@Carnage4Life) September 26, 2019
Echa un vistazo a estas causas comunes y formas de solucionar el error 500 internal server y
vuelve a funcionar en un santiamén.
1. Prueba a Recargar la Página
Esto puede parecer un poco obvio para algunos, pero una de las cosas más fáciles y la
primera que debes probar cuando te encuentres con un error 500 internal server es
simplemente esperar un minuto más o menos y recargar la página (F5 o Ctrl + F5). Puede
ser que el alojamiento o el servidor estén simplemente sobrecargados y la página volverá
enseguida. Mientras esperas, también puedes probar rápidamente con otro navegador para
descartar ese problema.
Otra cosa que puedes hacer es pegar el sitio web en downforeveryoneorjustme.com. Este
sitio web te dirá si el sitio está caído o si se trata de un problema tuyo. Una herramienta como
ésta comprueba el código de estado HTTP que devuelve el servidor. Si es cualquier cosa
que no sea un 200 «Todo va bien», entonces devolverá una indicación de caída.
— downforeveryoneorjustme
También hemos observado que a veces esto puede ocurrir inmediatamente después de
actualizar un plugin o un tema en tu sitio. Normalmente esto ocurre en alojamientos que no
están configurados correctamente. Lo que sucede es que experimentan un tiempo de espera
temporal justo al terminar. Sin embargo, las cosas suelen resolverse por sí solas en un par
de segundos y, por lo tanto, todo lo que tienes que hacer es actualizar.
2. Limpia la Caché de Tu Navegador
Limpiar la caché de tu navegador es siempre otro buen método para solucionar problemas
antes de sumergirte en una depuración más profunda de tu sitio. A continuación encontrarás
instrucciones sobre cómo borrar la caché en los distintos navegadores:
Cómo Forzar la Actualización de una Página para Todos los Navegadores
Cómo Borrar la Caché del Navegador Google Chrome
Cómo Borrar la Caché del Navegador Mozilla Firefox
Cómo Borrar la Caché del Navegador Safari
Cómo Borrar la Caché del Navegador en Internet Explorer
Cómo Borrar la Caché del Navegador en Microsoft Edge
Cómo Borrar la Caché del Navegador para Opera
3. Comprueba los Registros de tu Servidor
También deberías aprovechar tus registros de errores. Si eres cliente de Kinsta, puedes ver
fácilmente los errores en el visor de registros del panel de MyKinsta. Esto puede ayudarte a
reducir rápidamente el problema, especialmente si se debe a un plugin de tu sitio.
— Comprueba los registros de errores en busca de errores 500 internal server
Si tu proveedor de alojamiento no dispone de una herramienta de registro, también puedes
activar el modo de depuración de WordPress añadiendo el siguiente código a tu archivo wp-
config.php para activar el registro:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Los registros se encuentran normalmente en el directorio /wp-content. Otros, como es el caso
de Kinsta, pueden tener una carpeta específica llamada «logs».
— Carpeta «Logs» de errores de WordPress (SFTP)
También puedes comprobar los archivos de registro en Apache y Nginx, que suelen estar
ubicados aquí:
Apache: /var/log/apache2/error.log
Nginx: /var/log/nginx/error.log
Si eres cliente de Kinsta también puedes aprovechar nuestra herramienta de analítica para
obtener un desglose del número total de errores 500 y ver con qué frecuencia y cuándo se
producen. Esto puede ayudarte a solucionar si se trata de un problema continuo, o si quizás
es algo que se ha resuelto por sí solo.
— Respuesta de la analítica Desglose de errores 500
Si el error 500 se está mostrando debido a un error fatal de PHP, también puedes probar a
activar la notificación de errores de PHP. Simplemente añade el siguiente código al archivo
que arroja el error. Normalmente puedes acotar el archivo en la pestaña de la consola de
Google Chrome DevTools.
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Y puede que también necesites modificar tu archivo php.ini con lo siguiente:
display_errors = on
4. Comprobar si Hay Errores al Establecer una Conexión con la Base de
Datos
Los errores 500 internal server también pueden producirse por un error de conexión a la base
de datos. Dependiendo de tu navegador puedes ver errores diferentes. Pero ambos
generarán un código de estado HTTP 500 independientemente en los registros de tu
servidor.
A continuación puedes ver un ejemplo de cómo se ve un mensaje de “error establishing a
database connection” en tu navegador. Toda la página está en blanco porque no se pueden
recuperar datos para renderizar la página, ya que la conexión no funciona correctamente.
Esto no sólo rompe el front-end de tu sitio, sino que también te impedirá acceder a tu panel
de WordPress.
— Ejemplo del erro establishing a database connection
¿Por qué ocurre esto exactamente? A continuación te indicamos algunas razones comunes.
El problema más común es que tus credenciales de acceso a la base de datos son
incorrectas. Tu sitio utiliza información de inicio de sesión distinta para conectarse a su
base de datos MySQL.
Tu base de datos de WordPress está dañada. Con tantas partes móviles con temas,
plugins y usuarios borrándolos e instalándolos constantemente, a veces las bases de
datos se corrompen. Esto puede deberse a que falte una tabla o a que se haya
corrompido individualmente, o quizá se haya borrado alguna información por accidente.
Puede que tengas archivos corruptos en tu instalación de WordPress. Esto puede
ocurrir incluso a veces debido a hackers.
Problemas con tu servidor de base de datos. Hay varias cosas que pueden ir mal en el
alojamiento web, como que la base de datos esté sobrecargada por un pico de tráfico o
que no responda por demasiadas conexiones simultáneas. Esto es bastante común en
los servidores compartidos, ya que utilizan los mismos recursos para muchos usuarios
en los mismos servidores.
Consulta nuestro post en profundidad sobre cómo solucionar el error al establecer una
conexión a la base de datos.
5. Comprueba tus Plugins y Temas
Los plugins y temas de terceros pueden causar fácilmente errores 500 internal server. En
Kinsta hemos visto todo tipo de causas, desde plugins de slider hasta plugins rotadores
de anuncios. Muchas veces deberías ver el error inmediatamente después de instalar algo
nuevo o ejecutar una actualización. Esta es una de las razones por las que siempre
recomendamos utilizar un entorno staging para las actualizaciones o, al menos, ejecutar las
actualizaciones de una en una. De lo contrario, si te encuentras con un error 500 internal
server, de repente tendrás que averiguar cuál lo ha causado.
Una forma de solucionar este problema es desactivar todos tus plugins. Recuerda que no
perderás ningún dato si simplemente desactivas un plugin. Si todavía puedes acceder a tu
administrador, una forma rápida de hacerlo es ir a «Plugins» y seleccionar «Desactivar» en el
menú de acciones masivas. Esto desactivará todos tus plugins.
— Desactivar todos los plugins.
Si esto soluciona el problema, tendrás que encontrar al culpable. Empieza a activarlos uno a
uno, recargando el sitio después de cada activación. Cuando veas que vuelve el error 500
internal server, habrás encontrado el plugin que se comporta mal. Entonces puedes ponerte
en contacto con el desarrollador del plugin para obtener ayuda o enviar un ticket de soporte
al repositorio de WordPress.
Si no puedes acceder al admin de WordPress, puedes entrar por FTP en tu servidor y
renombrar tu carpeta de plugins a algo como plugins_old. A continuación, comprueba de
nuevo tu sitio. Si funciona, entonces tendrás que probar cada plugin uno por uno. Vuelve a
cambiar el nombre de tu carpeta de plugins a «plugins» y, a continuación, cambia el nombre
de cada carpeta de plugins dentro de ella, una por una, hasta que la encuentres. También
puedes intentar replicar esto primero en un sitio staging.
— Cambiar el nombre de la carpeta de plugins
Asegúrate siempre de que tus plugins, temas y el core de WordPress están actualizados. Y
comprueba que estás ejecutando una versión compatible de PHP. Si resulta ser un conflicto
con código defectuoso en un plugin, puede que tengas que recurrir a un desarrollador de
WordPress para solucionar el problema.
6. Reinstala el Core de WordPress
A veces los archivos del core de WordPress pueden corromperse, especialmente en sitios
antiguos. En realidad, es bastante fácil volver a cargar sólo el core de WordPress sin que ello
afecte a tus plugins o temas. Tenemos una guía detallada con 5 formas diferentes de
reinstalar WordPress. Y, por supuesto, asegúrate de hacer una copia de seguridad antes de
proceder. Salta a una de las secciones siguientes:
Cómo reinstalar WordPress desde el panel de control de WordPress conservando el
contenido existente
Cómo reinstalar manualmente WordPress mediante FTP conservando el contenido
existente
Cómo reinstalar manualmente WordPress mediante WP-CLI conservando el contenido
existente
7. Comprueba si Hay un Error de Permisos
Un error de permisos en un archivo o carpeta de tu servidor también puede provocar un error
500 internal server. Estas son algunas recomendaciones típicas para los permisos cuando se
trata de permisos de archivos y carpetas en WordPress:
Todos los archivos deben ser 644 (-rw-r–r–) o 640.
Todos los directorios deben tener 755 (drwxr-xr-x) o 750.
Ningún directorio debe tener nunca 777, ni siquiera los directorios de subida.
Fortalecimiento: wp-config.php también podría establecerse en 440 o 400 para evitar
que otros usuarios del servidor lo lean.
Consulta el artículo del Codex de WordPress sobre cómo cambiar los permisos de los
archivos para obtener una explicación más detallada.
Puedes ver fácilmente los permisos de tus archivos con un cliente FTP (como se ve a
continuación). También puedes ponerte en contacto con el equipo de soporte de tu
alojamiento y pedirles que comprueben rápidamente los permisos de tus carpetas y archivos
para asegurarte de que están configurados correctamente.
— Permisos de archivos SFTP
8. Aumentar el Límite de Memoria PHP
Un error 500 interno del servidor también puede deberse a que se ha agotado el límite de
memoria PHP de tu servidor. Puedes probar a aumentar el límite. Sigue las siguientes
instrucciones sobre cómo cambiar este límite en cPanel, Apache, tu archivo php.ini y el
archivo wp-config.php.
Aumentar el Límite de Memoria PHP en cPanel
Si estás utilizando un alojamiento que usa cPanel, puedes cambiar esto fácilmente desde la
interfaz de usuario. En Software haz clic en «Seleccionar versión de PHP».
— Selecciona la versión de PHP
Haz clic en «Cambiar a Opciones PHP».
— Cambiar a opciones PHP
A continuación, puedes hacer clic en el atributo memory_limit y cambiar su valor. Después
haz clic en «Guardar».
— Aumentar el límite de memoria PHP en cPanel
Aumentar el Límite de Memoria PHP en Apache
El archivo.htaccess es un archivo oculto especial que contiene varios ajustes que puedes
utilizar para modificar el comportamiento del servidor, hasta un nivel específico de directorio.
Primero accede a tu sitio a través de FTP o SSH, echa un vistazo a tu directorio root y
comprueba si allí hay un archivo .htaccess.
— Archivo .htaccess
Si lo hay, puedes editar ese archivo para añadir el código necesario para aumentar el límite
de memoria PHP. Lo más probable es que esté fijado en 64M o menos, puedes intentar
aumentar este valor.
php_value memory_limit 128M
Aumentar el Límite de Memoria PHP en el Archivo php.ini
Si lo anterior no te funciona, puedes intentar editar tu archivo php.ini. Accede a tu sitio a
través de FTP o SSH, ve al directorio root de tu sitio y abre o crea un archivo php.ini.
— archivo php.ini
Si el archivo ya estaba allí, busca los tres ajustes y modifícalos si es necesario. Si acabas de
crear el archivo, o los ajustes no se encuentran en ninguna parte, puedes pegar el código
que aparece a continuación. Por supuesto, puedes modificar los valores para adaptarlos a
tus necesidades.
memory_limit = 128M
Algunos servidores compartidos también pueden requerir que añadas la directiva suPHP en
tu archivo .htaccess para que funcione la configuración del archivo php.ini anterior. Para
ello, edita tu archivo .htaccess, también situado en el root de tu sitio, y añade el siguiente
código hacia la parte superior del archivo:
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>
Si lo anterior no te ha funcionado, puede ser que tu alojamiento tenga bloqueada la
configuración global y en su lugar lo tenga configurado para utilizar los archivos .user.ini.
Para editar tu archivo .user.ini, accede a tu sitio a través de FTP o SSH, ve al directorio
root de tu sitio y abre o crea un archivo .user.ini. A continuación, puedes pegar el
siguiente código:
memory_limit = 128M
Aumentar el Límite de Memoria PHP en wp-config.php
No somos partidarios de esta última opción, pero si todo lo demás falla, puedes intentarlo. En
primer lugar, accede a tu sitio mediante FTP o SSH, y localiza tu archivo wp-config.php, que
suele estar en el root de tu sitio.
— archivo wp-config.php
Añade el siguiente código al principio de tu archivo wp-config.php:
define('WP_MEMORY_LIMIT', '128M');
También puedes preguntar a tu alojamiento si tienes problemas de límite de memoria. En
Kinsta utilizamos la herramienta Kinsta APM y otros métodos de resolución de problemas
para ayudar a los clientes a determinar qué plugin, consulta o secuencia de comandos
pueden estar agotando el límite. También puedes utilizar tu propia clave New Relic
personalizada de tu propia licencia.
— Depuración con New Relic
9. Arregla tu Archivo .htaccess
Kinsta sólo utiliza Nginx, pero si estás utilizando un alojamiento que ejecuta Apache, es muy
posible que tu archivo .htaccess tenga algún problema o se haya corrompido. Sigue los
pasos que se indican a continuación para volver a crear uno nuevo desde cero.
En primer lugar, accede a tu sitio a través de FTP o SSH, y cambia el nombre de tu archivo
.htaccess por .htaccess_old.
— Cambiar el nombre del archivo .htaccess
Normalmente para recrear este archivo simplemente puedes volver a guardar tus permalinks
en WordPress. Sin embargo, si te encuentras en medio de un error 500 internal server lo más
probable es que no puedas acceder a tu admin de WordPress, así que esto no es una
opción. Por lo tanto, puedes crear un nuevo archivo .htaccess e introducir el siguiente
contenido. Luego súbelo a tu servidor.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Consulta el Codex de WordPress para ver más ejemplos, como un archivo .htaccess
predeterminado para multisitios.
10. Corrige Errores de Programación o Sintaxis en tu Script CGI/Perl
Que los errores 500 estén causados por errores en CGI y Perl es mucho menos común de lo
que solía ser. Aunque todavía merece la pena mencionarlo, especialmente para los que
utilizan cPanel, donde todavía se utilizan muchos scripts CGI de un sólo clic. Como dice AEM
en Stack Overflow:
CGI ha sido sustituido por una gran variedad de tecnologías de programación
web, incluyendo PHP, varias extensiones de Apache como mod_perl, Java de
varios sabores y frameworks incluyendo Java EE, Struts, Spring, etc, frameworks
basados en Python como Django, Ruby on Rails y muchos otros frameworks de
Ruby, y varias tecnologías de Microsoft.
Aquí tienes algunos consejos para trabajar con scripts CGI:
Al editarlos, utiliza siempre un editor de texto plano, como Atom, Sublime o Notepad++.
Esto garantiza que permanezcan en formato ASCII.
Asegúrate de que se utilizan los permisos correctos de chmod 755 en los scripts y
directorios CGI.
Sube tus scripts CGI en modo ASCII (que puedes seleccionar en tu editor FTP) al
directorio cgi-bin de tu servidor.
Confirma que los módulos Perl que necesitas para tu script están instalados y son
compatibles.
11. Comprueba con tu Alojamiento los Problemas del Servidor
Por último, como los errores 500 internal server también pueden producirse por la
temporización de PHP o por errores fatales de PHP con plugins de terceros, siempre
puedes consultarlo con tu proveedor de alojamiento. A veces, estos errores pueden ser
difíciles de solucionar sin la ayuda de un experto. Aquí tienes algunos ejemplos comunes de
algunos errores que provocan códigos de estado HTTP 500 en el servidor y que quizá te
hagan pensar.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function m
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP
En Kinsta monitorizamos todos los sitios de nuestros clientes y recibimos
notificaciones automáticas cuando se producen este tipo de errores. Esto nos permite
ser proactivos y empezar a solucionar el problema de inmediato. También utilizamos hosts
administrados LXD y contenedores de software LXC para cada sitio. Esto significa que cada
sitio está alojado en su propio contenedor aislado, que tiene todos los recursos de software
necesarios para ejecutarlo (Linux, Nginx, PHP, MySQL). Los recursos son 100% privados y
no se comparten con nadie más ni siquiera con tus propios sitios.
Los tiempos de espera de PHP también podrían producirse por la falta de PHP workers,
aunque normalmente provocan errores 504, no 500. Éstos determinan cuántas peticiones
simultáneas puede manejar tu sitio en un momento dado. En pocas palabras, cada solicitud
no almacenada en caché de tu sitio web es gestionada por un PHP Worker.
Cuando los PHP workers ya están ocupados en un sitio, empiezan a acumular una cola. Una
vez alcanzado el límite de PHP workers, la cola empieza a expulsar las peticiones más
antiguas, lo que puede provocar errores 500 o peticiones incompletas. Lee nuestro artículo
en profundidad sobre PHP workers.
Monitoriza Tu Sitio
Si te preocupa que este tipo de errores se produzcan en tu sitio en el futuro, también puedes
utilizar una herramienta como updown.io para supervisar y notificarte inmediatamente si se
producen. Envía periódicamente una petición HTTP HEAD a la URL que elijas. Puedes
utilizar simplemente tu página de inicio. La herramienta te permite establecer frecuencias de
comprobación de:
15 segundos
30 segundos
1 minuto
2 minutos
5 minutos
10 minutos
Te enviará un correo electrónico cuando tu sitio se caiga. Aquí tienes un ejemplo.
— Notificación por correo electrónico de un error 500
Esto puede ser especialmente útil si estás intentando depurar un plugin defectuoso o estás
en un alojamiento compartido, que tiende a saturar sus servidores. Esto puede darte una
prueba de la frecuencia con la que tu sitio se cae (incluso en mitad de la noche).
Por eso siempre recomendamos optar por un alojamiento de aplicaciones, bases de datos y
WordPress administrado (como Kinsta).
Asegúrate de consultar nuestro post que explora las 9 razones principales para elegir un
alojamiento administrado de WordPress.
Resumen
Los errores 500 internal server siempre son frustrantes, pero esperamos que ahora conozcas
algunas formas adicionales de solucionarlos para que tu sitio vuelva a funcionar rápidamente.
Recuerda que, normalmente, este tipo de errores están causados por plugins de terceros,
errores fatales de PHP, problemas de conexión a la base de datos, problemas con tu archivo
.htaccess o con los límites de memoria de PHP y, a veces, por tiempos de espera de PHP.
¿Nos hemos dejado algo? Tal vez tengas otro consejo para solucionar los errores 500
internal server. Si es así, háznoslo saber en los comentarios.