29.11.2021
El Error 500 (Internal Server Error) en un hosting con cPanel suele estar relacionado con problemas en la configuración del sitio, como permisos incorrectos, errores en .htaccess
, fallos en PHP o falta de recursos del servidor. En esta guía te explico cómo habilitar la visualización de errores, revisar registros en cPanel y corregir posibles fallos.
Por defecto, PHP puede ocultar los errores para evitar exponer información sensible. Para ver los errores directamente en el navegador, debes activarlos desde cPanel.
Inicia sesión en cPanel.
Ve a la sección "Software" y haz clic en "Seleccionar versión de PHP" o "MultiPHP INI Editor".
Selecciona la versión de PHP activa en tu sitio.
Busca las siguientes opciones y ajústalas:
display_errors = On error_reporting = E_ALL log_errors = On
Guarda los cambios y recarga la página donde aparece el error.
.htaccess
Si no tienes acceso a php.ini
, puedes activar los errores editando el archivo .htaccess
desde cPanel:
Accede a cPanel.
En la sección "Archivos", entra en "Administrador de archivos".
Dirígete a la carpeta public_html
(o la carpeta donde está tu sitio).
Busca el archivo .htaccess
. Si no lo ves, haz clic en "Configuración" (arriba a la derecha) y activa la opción "Mostrar archivos ocultos (dotfiles)".
Edita el archivo .htaccess
y agrega lo siguiente al final:
php_flag display_errors on php_value error_reporting 32767
Guarda los cambios y recarga tu sitio.
Nota: Algunos servidores bloquean la modificación de
php_flag
. Si tu hosting no permite esto, usa el métodophp.ini
o agrégalo en tu código PHP.
Si los errores siguen sin mostrarse, puedes agregarlos directamente en el archivo PHP:
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); ?>
Coloca este código en el archivo donde sospeches que está el error y recarga la página.
error_log
)Si los errores no aparecen en pantalla, consulta el registro de errores del servidor.
Alternativamente, puedes buscar manualmente el archivo error_log
en el Administrador de archivos:
error_log
en:
public_html/
public_html/misitioweb.com/
)error_log
[Sat Oct 21 14:25:33 2023] [error] [client 123.456.789.000] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/user/public_html/index.php:10
Posible solución: mysql_connect()
fue eliminado en PHP 7+. Debes actualizar tu código para usar mysqli_connect()
o PDO.
.htaccess
Un .htaccess
mal configurado puede generar un Error 500. Para solucionarlo:
public_html
y encuentra el archivo .htaccess
..htaccess_backup
para desactivarlo temporalmente..htaccess
.Si .htaccess
era la causa, revísalo y corrige cualquier línea sospechosa. Por ejemplo:
php_value memory_limit 256M
Algunos servidores bloquean este tipo de configuraciones en .htaccess
. Debes moverlas a php.ini
.
Si los permisos de archivos y carpetas no son correctos, puedes obtener un Error 500.
public_html
.644
755
config.php
, .env
): 600
o 640
Si tu aplicación necesita más memoria de la asignada por el servidor, puedes aumentarla.
memory_limit
y aumenta el valor (por ejemplo, 512M
).También puedes agregar esta línea en php.ini
o en tu código PHP:
ini_set('memory_limit', '512M');
Si el error ocurre después de una actualización, verifica que tu código sea compatible con la versión de PHP.
Si usas un CMS como WordPress, Joomla o Drupal, puedes habilitar el modo de depuración.
wp-config.php
.
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors', 0);
wp-content/debug.log
.configuration.php
y cambia:
public $error_reporting = 'maximum'; public $debug = '1';
sites/default/settings.php
y agrega:
$config['system.logging']['error_level'] = 'verbose';
Si el problema persiste, verifica si PHP está funcionando correctamente.
test.php
en public_html
.
<?php echo "PHP está funcionando correctamente."; ?>
tudominio.com/test.php
en tu navegador.
Para resolver un Error 500 en cPanel, sigue estos pasos:
error_log
en cPanel..htaccess
.test.php
simple.Con estos métodos, deberías poder identificar y corregir el error en tu hosting cPanel