Foros del Web » Programando para Internet » PHP » Configuración PHP »

Error 500 al usar include de PHP con / como primer caracter

Estas en el tema de Error 500 al usar include de PHP con / como primer caracter en el foro de Configuración PHP en Foros del Web. Ayer instalé un pequeño sistema en un VPS que corre Centos 5. Casí me vuelvo mono testeando por qué me daba error 500. Probe con ...
  #1 (permalink)  
Antiguo 25/10/2012, 10:42
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Error 500 al usar include de PHP con / como primer caracter

Ayer instalé un pequeño sistema en un VPS que corre Centos 5. Casí me vuelvo mono testeando por qué me daba error 500. Probe con los permisos de carpeta, eliminando el .htaccess, viendo los logs de apache, etc hasta que encontré el error.

La cuestion es que tenía llamadas include de PHP que empezeban con / en vez de usar rutas relativas. Ej:

include "/core/lib/render.php";

En servidor local no me fallaba, y en otros servidores (fuera del VPS) nunca me pasó. Qué tendría que tocar para evitarme corregir el codigo en otros sistemas viejos que voy a migrar al VPS? Tengo que modificar algo de php.ini o de Apache?
  #2 (permalink)  
Antiguo 25/10/2012, 10:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Que descripción te sale para el error 500 en el error.log de apache?
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 25/10/2012, 11:21
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Vuelvo a decir, en los logs no aparecen errores (me fijo en /var/log/httpd). Yo me entero de que es error 500 por la consola del Firebug.
  #4 (permalink)  
Antiguo 25/10/2012, 11:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Aqui hay alguna info, pero no se si se aplica
http://serverfault.com/questions/261...-or-access-log

Por lo menos para intentar registra el error

Otra alternativa, loguear tus errores de php por separado, a ver si sale algo.
No encuentro relación entre una / y un error 500

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 25/10/2012, 21:10
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Me fije en php.ini
Tengo log_errors = On
Y puse error_log = "/var/log/httpd/php_errors"

Espero eso ayude a loguear errores provenientes del codigo.

;)
  #6 (permalink)  
Antiguo 26/10/2012, 10:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Es muy raro que con / te sirva, ya que include() trabaja a nivel OS, y cuando tú le indicas:
Código PHP:
Ver original
  1. include '/path/to/file.php';

Lo que va a hacer PHP es leer la raiz del disco duro, y buscar el archivo, y no lo hace de forma relativa a tu script.

Si estas segura que el path es el correcto, revisa la directiva open_basedir, esta le dice a PHP que directorios puede trabajar, y los demás te lanzan un error.

Saludos.
  #7 (permalink)  
Antiguo 26/10/2012, 17:59
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Error 500 al usar include de PHP con / como primer caracter

Gracias GatorV. Entonces la / debe estar saliendo un nivel de httpdocs. No se por qué, siendo que se está en un ámbito de servidor virtual con raiz en el httpdocs.

Voy a mirar lo que comentas de open_basedir! Gracias por la pista.

Saludos.

Etiquetas: 500, htaccess, include, php, primer, servidor, usar, caracteres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:12.