PDA

Ver la versión completa : Apache no devuelve errores



Ñuño Martínez
12/03/2011, 20:36
Pues eso, que llevo dos días comprobando archivos de configuración, bitácoras (logs) y documentación, pero no hay manera: si cometo un error en PHP Apache2 se limita a devolver un error 500 y una página en blanco. Y lo peor es que en /var/log/apache2/error.log sólo me aparecen los errores de que no encuentra la página solicitada (40x) y similares, pero nada de errores de sintaxis, incongruencias en tipos de datos o lo que sea.

Yo ya no sé dónde mirar. Como aquí hay mucho diseñador y currante de PHP, a ver si alguno me da pistas. Gracias.

Por cierto, uso CodeIgniter, pero también lo uso en otros proyectos y sí me devuelve errores.

Aiken
12/03/2011, 22:34
estaran en php.log no?

Aiken

3XCL4M4t10N
13/03/2011, 02:50
Lo siento, pero habia ledio mapache XD...

chipan
13/03/2011, 04:50
¿Apache no devuelve errores?
pues que sepas que siux no devuelve calcetines

Ñuño Martínez
13/03/2011, 10:57
estaran en php.log no?

Aiken

Pues no he visto ningún "php.log". Tendré que buscarlo.

De todas formas, en otros proyectos, cuando meto un error de sintaxis o similar me sale en el navegador. Se supone que poniendo "error_reporting (E_ALL);" al principio del programa debería comportarse así y no callar como una trabajadora de la calle, ¿no?

^MiSaTo^
13/03/2011, 11:53
Pues no he visto ningún "php.log". Tendré que buscarlo.

De todas formas, en otros proyectos, cuando meto un error de sintaxis o similar me sale en el navegador. Se supone que poniendo "error_reporting (E_ALL);" al principio del programa debería comportarse así y no callar como una trabajadora de la calle, ¿no?

si y no. mira a ver cómo tienes el php.ini no sea que tengas desactivados los errores y demás. Aparte ahí veras donde tienes el log de PHP ;)

Aiken
13/03/2011, 12:18
Se supone que poniendo "error_reporting (E_ALL);" al principio del programa debería comportarse así y no callar como una trabajadora de la calle, ¿no?


error_reporting configura la "cantidad" de errores que muestra.
Para que salgan por pantalla tienes que usar display_errors.



<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
include("file_with_errors.php");
?>


y esto que pones en tu codigo deberia tener preferencia sobre lo que haya en el php.ini o en la configuracion de apache.

Aiken

Ñuño Martínez
13/03/2011, 19:35
Gracias a los dos, pero no funciona.

Efectivamente, encontré php.ini y tenía un montón de opciones de depuración desactivadas. Las he activado, y lo único que he conseguido es que en vez de devolver un error 500 me devuelva un 200, pero la página sigue en blanco.

He hecho más pruebas y parece que el problema es del CodeIgniter, que en algún sitio me jode la marrana, porque he creado una página sin usar CI y sí que muestra los errores.

Tengo ganas de matar. Muchas.

Ñuño Martínez
13/04/2011, 17:40
Es viejo, pero voy a ponerlo por si alguien busca en internet y entra en este hilo, por una casual casualidad.

Resulta que el problema era, por un lado, la configuración del CodeIgniter, concretamente la opción "PATH_INFO", y por otro lado porque hay que poner un "?" después de "index.php" para que pille bien la cadena que sirve.

Eso sí: la solución definitiva ha sido descargarse la versión 2.

K-teto
13/04/2011, 17:43
El titulo esta mal, deberia decir "apache no devolver errores!"