¿Qué es un error 500?

Un error 500 significa que algo ha fallado en el servidor, pero el servidor no puede precisar qué. Es un mensaje genérico de «algo se ha roto» que hay que investigar.

Primer paso: revisa los registros en EGPNL → Registros → Registros de error. El mensaje concreto te llevará a la causa exacta.

Causas habituales y soluciones

1. Errores de sintaxis en PHP

Causa

Falta un punto y coma o una llave, o hay una errata en el código PHP.

Solución

Mira en los registros el fichero y la línea. Errores frecuentes: falta un ;, una { sin cerrar o un $ dentro de una cadena.

2. Incompatibilidad de versión de PHP

Causa

El código usa funciones que no existen en la versión actual de PHP o que están obsoletas.

Solución

Comprueba qué versión requiere. En EGPNL, ve a PHP → Versión de PHP y cambia a una compatible.

3. Problemas de permisos

Causa

Los ficheros PHP tienen permisos incorrectos (demasiado restrictivos o 777).

Solución

Pon las carpetas en 755 y los ficheros en 644. No uses nunca 777.

# Fix permissions via SSH
find /path/to/site -type d -exec chmod 755 {} \;
find /path/to/site -type f -exec chmod 644 {} \;

4. Faltan extensiones de PHP

Causa

La aplicación necesita una extensión de PHP que no está activada.

Solución

Ve a EGPNL → PHP → Extensiones de PHP y activa la que haga falta (por ejemplo mysqli, gd o curl).

5. Límite de memoria superado

Causa

El script de PHP usa más memoria de la permitida.

Solución

Sube el límite en EGPNL → PHP → Ajustes de PHP, o añade a tu código:

// In PHP file
ini_set('memory_limit', '256M');

// Or in php.ini
memory_limit = 256M

6. .htaccess corrupto (Nginx)

Causa

Algunas aplicaciones crean ficheros .htaccess, pero EGPHP usa Nginx, que no los admite.

Solución

Las reglas de .htaccess hay que convertirlas al formato de Nginx. Mira las opciones en EGPNL → Nginx.

7. Falla la conexión a la base de datos

Causa

Las credenciales son incorrectas o la base de datos no existe.

Solución

Verifica las credenciales en tu fichero de configuración (wp-config.php en WordPress). Comprueba que la base de datos existe en EGPNL.

8. Conflicto de plugin o tema (WordPress)

Causa

Un plugin o un tema tiene un fallo o choca con otro.

Solución

Renombra la carpeta plugins a plugins_old desde el gestor de archivos. Si el sitio carga, devuélvele el nombre y activa los plugins uno a uno para dar con el culpable.

Soluciones propias de WordPress

Activa el modo de depuración de WordPress

Edita wp-config.php y añade o modifica:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Después busca los errores en wp-content/debug.log.

Aumenta la memoria de WordPress

// Add to wp-config.php
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Restablece los ficheros del núcleo dañados

  1. Descarga una copia limpia de WordPress desde wordpress.org
  2. Borra las carpetas wp-admin y wp-includes (NO wp-content)
  3. Sube las nuevas wp-admin y wp-includes
  4. Sustituye wp-config.php solo si está dañado
¡Haz antes una copia! Respalda siempre tu sitio antes de tocar los ficheros del núcleo.

Revisar los registros de error

Los registros de error son tu mejor aliado para diagnosticar un error 500:

  1. Ve a EGPNLRegistros
  2. Selecciona Registros de error
  3. Busca las entradas recientes (las más nuevas abajo)
  4. Anota la ruta del fichero y el número de línea

Mensajes habituales del registro

  • PHP Parse error: error de sintaxis en un fichero PHP
  • PHP Fatal error: error crítico que detiene la ejecución
  • Allowed memory size exhausted: se ha alcanzado el límite de memoria
  • Call to undefined function: falta una función o una extensión

¿Sigues viendo el error 500?

  1. Copia el error exacto del registro
  2. Anota cuándo empezó (¿tras una actualización? ¿un plugin nuevo?)
  3. Prueba a restaurar desde una copia si la tienes
  4. Contacta con soporte con los detalles del error