Codeigniter muestra una página en blanco en lugar de mensajes de error


Estoy usando Codeigniter, y en lugar de mensajes de error solo estoy recibiendo una página en blanco. ¿Hay alguna manera de mostrar mensajes de error de PHP en su lugar? Es muy difícil depurar cuando no recibo comentarios.

Mi entorno es Ubuntu con Apache.

Author: Wesley Murch, 2012-03-06

23 answers

Ya que ninguna de las soluciones parece estar funcionando para usted hasta ahora, pruebe esta:

ini_set('display_errors', 1);

Http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors

Esto le dice explícitamente a PHP que muestre los errores. Algunos entornos pueden tener esto deshabilitado de forma predeterminada.

Así es como se ven los ajustes de mi entorno en index.php:

/*
 *---------------------------------------------------------------
 * APPLICATION ENVIRONMENT
 *---------------------------------------------------------------
 */
define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 */
if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            // Report all errors
            error_reporting(E_ALL);

            // Display errors in output
            ini_set('display_errors', 1);
        break;

        case 'testing':
        case 'production':
            // Report all errors except E_NOTICE
            // This is the default value set in php.ini
            error_reporting(E_ALL ^ E_NOTICE);

            // Don't display errors (they can still be logged)
            ini_set('display_errors', 0);
        break;

        default:
            exit('The application environment is not set correctly.');
    }
}
 85
Author: Wesley Murch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-12 14:03:05

Asegúrese de que php5-mysql está instalado.

 27
Author: alexanderlukanin13,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-17 12:12:04

Tuve este mismo problema y como señaló Shayan Husaini, tuve un error de sintaxis no detectado.

Lo resolví usando el linter php en la terminal:

php -l file.php

También puede usar algo como esto para usar el linter en cada archivo en alguna carpeta:

find -type f -name "*.php" -exec php -l '{}' \;

Y para filtrar solo los que tienen errores:

find -type f -name "*.php" -exec php -l '{}' \; | grep '^[^N]'

Que debe mostrar los archivos con errores de análisis y la línea donde está el error.

 8
Author: archemiro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-24 13:17:58

Este comportamiento ocurre cuando tiene un error básico de sintaxis php en su código. En caso de que tenga errores de sintaxis, el analizador php no analiza el código completamente y no muestra nada, por lo que toda la sugerencia anterior funcionaría solo si tiene otros errores de sintaxis.

 7
Author: Code Prank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-06 16:21:59

Puede configurarlo en el índice principal.php

    define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 *
 * Different environments will require different levels of error reporting.
 * By default development will show errors but testing and live will hide them.
 */

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
        break;

    case 'testing':
    case 'production':
        error_reporting(0);
    break;

    default:
        exit('The application environment is not set correctly.');
}
}
 6
Author: Christian Giupponi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-06 16:09:29

Esto me sucede cada vez que hago autoload cosas en autoload.php como la 'base de datos'

Para resolver esto, si está utilizando el sistema operativo Windows

  1. Abra su php.ini. Buscar y descomentar esta línea - extension=php_mysql.dll

    (Por favor, compruebe también si la directiva PHP apunta a dónde se encuentran sus extensiones.
    El mío es extension_dir = "C:\php-5.4.8-Win32-VC9-x86\ext")

  2. Reinicie Apache y actualice su página

 5
Author: user1414182,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-17 06:40:45

Tuve el mismo problema hace un par de días. Mi entorno de desarrollo es Win8 y el sitio web estaba funcionando bien, pero cuando subí los archivos al servidor de producción (Linux) estaba mostrando una página en blanco.

Resulta que los nombres de archivo de los modelos y controladores deben comenzar con una letra mayúscula.

El archivo debe llamarse 'Blog.php', con 'B' mayúscula.

Los nombres de las clases deben comenzar con una letra mayúscula.

En windows entorno esto no importará ya que windows no distingue mayúsculas y minúsculas , pero en el entorno linux, los archivos no se mostrarán.

Espero haber ayudado.
 4
Author: João Monteiro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 10:18:16

Intente agregar esto a su índice.archivo php

error_reporting(E_ALL);
 3
Author: brenjt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-06 16:08:40

Asegúrese de no tener un índice en blanco.archivo html en su carpeta raíz. Sucede :)

 3
Author: Rafik Bari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-27 01:05:42

Compruebe si error_reporting está ENCENDIDO en el servidor o no, si ese id apagado no obtendrá ningún error y solo una página en blanco. si está en un servidor compartido, puede habilitar la notificación de errores a través de htaccess. En CodeIgniter agregue lo siguiente en su htaccess

php_flag display_errors On

Y set

error_reporting(E_ERROR); ## or what ever setting desired in php

Espero que funcione para usted

 2
Author: Junaid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-07 06:26:51

En primer lugar, debe dar el permiso de su carpeta Codeigniter, puede ser el problema de permisos y luego iniciar su servidor.

 2
Author: Anand Mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-23 08:58:05

Si está utilizando CI 2.0 o posterior, puede cambiar ENVIRONMENT type en su index.php a define('ENVIRONMENT', 'testing');.
Alternativamente, puede agregar php_flag display_errors on a su archivo .htaccess.

 2
Author: Vytautas Krutulis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-15 19:54:56

Cargue su ayudante de url cuando cree una función eg,

visibility function_name () {

     $this->load->helper('url');
}

El te mostrará errores o una vista que hayas cargado.

 0
Author: BK004,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-27 12:24:58

¿Está usando el símbolo @ en algún lugar?

Si tienes algo como:

@include('page_with_error.php');

Obtendrá una página en blanco.

 0
Author: Keith Ritter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-15 19:51:25

Me encontré con esto porque tenía una CLI ejecutándose a través de cron como usuario root, creando así archivos de registro con root:root. Cuando intentaste navegar a un URI todo funcionaría bien, pero CI exhibiendo la página en blanco probablemente porque no tenía permiso de escritura para el archivo de registro.

 0
Author: Alexander Millar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-31 14:05:43

Codeigniter no parece lanzar un mensaje de error cuando estaba haciendo referencia a una vista que no existía.

En mi ejemplo tenía dentro de mi controlador:

$this->load->view('/admin/index/access_controls/groups/add');

Debido a que el archivo no existe, tengo un espacio en blanco "Se ha producido un error de la página". Cambié el código a:

$this->load->view('/admin/access_controls/groups/add');

Así fue como resolví el mismo problema que parece estar teniendo, espero que esto ayude a alguien algún día.

 0
Author: evade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-27 17:13:24

También me enfrentaba al mismo problema y probé casi todas las cosas, pero finalmente reinicié mi servidor y descubrí que todo comenzó a funcionar bien..no sé cómo.....creo que fue un problema del lado del servidor por eso mi CÓDIGO PHP no estaba dando ningún error.

 0
Author: Sachin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-21 10:36:19

Si tiene esto en su php.ini:

display_error = On;

Y tiene esto en su solicitud de IC al mismo tiempo

error_reporting(0);

Obtendrá HTTP/1.1 200 OK y una página completamente bancaria.

Esto se debe a que cuando display_error está activado, el php-fpm siempre devuelve el código HTTP 200. Y todos los errores a la salida están prohibidos por error_reporting (0).

Para la solicitud de IC,el índice de entrada.php configura el entorno en ejecución como fuelle:

if(isset($_SERVER['SERVER_ENV'])) {
    define('ENVIRONMENT', $_SERVER['SERVER_ENV']);
} else {
    define('ENVIRONMENT', 'development');
}

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
            ini_set('display_errors', 1);
        break;

        case 'testing':
        case 'production':
            error_reporting(0);
        break;

        default:
            exit('The application environment is not set correctly.');
    }
}

En resumen, cuando se establece la directiva ENV en la conf de su servidor web,diga fastcgi_params de Nginx:

fastcgi_param  SERVER_ENV         production;

Entonces CI establecerá automáticamente

error_reporting(0);
 0
Author: Codefor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-07 06:54:02

Otro método es ver si ha superado la comprobación de errores en su código por accidente. Busca en todo tu código cualquier instancia de error_reporting (). Si lo llamas sin parámetros, solo devuelve el nivel actual y es inofensivo. Si lo llamas con un parámetro, como 0 (cero), desactivará la notificación de errores.

Puede probar esto en CodeIgnitor mirando su biblioteca central debajo ../ system / core / Common.php y encontrar una sección que está en la línea 615 eso parece:

if (($severity & error_reporting()) !== $severity)
{
   return;
} 

Añade algo como:

if (($severity & error_reporting()) !== $severity)
{
   echo "Suppressing errors!";
   return;
} 

Y debería ser capaz de atrapar errores superados y depurar desde allí.

 0
Author: Dave Strickler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-09 16:39:28

A menudo cuando codeigniter no muestra nada, hay un error de sintaxis. Sobre todo si la aplicación se ejecutaba sin problemas anteriormente, solo mira tus ediciones más recientes. Para mí la experiencia esta vez fue toda la aplicación, no solo una página. Así que hice un escaneo cerebral rápido para las ediciones más recientes que había hecho y trabajé hacia atrás, revisando cada archivo que había trabajado en este día. Resultó ser algunas cláusulas 'where' en dos archivos de modelo: Por ejemplo, tenía

$this->db->where('Type' => 'Blog'); rather than $this->db->where('Type', 'Blog');
 0
Author: Ojchris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-03 15:56:38

Estaba teniendo el mismo problema, instalé la última versión de xamp y encontré que mi sitio no funciona, después de investigar y perder el tiempo encontré eso.

Necesito activar la siguiente etiqueta en php.ini file short_open_tag = On

Asegúrese de reiniciar apache después de hacer esto.

Espero que esto ayude, la mayoría de estos problemas están relacionados con php.archivo ini o instalación nueva si su sitio ya se estaba ejecutando como otras personas que enfrentan un problema similar.

 0
Author: UMAR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-02 10:48:20

Después de la instalación de xamp/wamp puede notar algunos errores de naturaleza similar. Si su sitio web ya se estaba ejecutando no se preocupe, es un problema relacionado con la configuración.

1) compruebe las conexiones de la base de datos en la base de datos.archivo php dentro de la carpeta de la aplicación 2) comprobar configuración.php file check url es correcta o no? 3) de forma predeterminada, las etiquetas cortas están desactivadas en las nuevas instalaciones, luego siga el procedimiento siguiente

En php.el archivo ini cambia "short_open_tag = Off"a" short_open_tag=On "

Asegúrese para reiniciar apache después de hacer esto.

Espero que esto ayude.

 0
Author: UMAR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-02 10:57:59

Compruebe que cualquiera de las carpetas de error está en la carpeta de aplicación de no en mi caso, reemplazo la carpeta de error en la carpeta de la aplicación

 -1
Author: ravikant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-26 06:05:01