Foros del Web » Programando para Internet » PHP »

problema con linux

Estas en el tema de problema con linux en el foro de PHP en Foros del Web. ola q pasa, he creado una web con PHP HOME EDITION 2 y funciona perfectamente, pero cuando la coloco en el servidor, un LINUX RED ...
  #1 (permalink)  
Antiguo 19/07/2003, 11:55
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
problema con linux

ola q pasa, he creado una web con PHP HOME EDITION 2 y funciona perfectamente, pero cuando la coloco en el servidor, un LINUX RED HAT 8, me da un error:
warning: session_start(): cannot send session cookie - headers already sent by (output started at /www/crear_sesion.php:8) in /www/crear_sesion.php on line 9

lo dixo en windows si funciona, pero es q ademas no me pasa los valores de la variables, osea q lasl variables q creo en un formulario llegan vacias a su destino.
  #2 (permalink)  
Antiguo 19/07/2003, 13:32
 
Fecha de Ingreso: julio-2003
Mensajes: 154
Antigüedad: 14 años, 5 meses
Puntos: 0
Eso no creo que sea un problema de servidor yo lo que pienso esque tu navegador es el problema no se si probaste con otro navegador o en otro pc si te da el mismo problema ...o bien borrando las cookies que estan creadas en el navegador que utilizas.

Saldudos
PLUR
  #3 (permalink)  
Antiguo 19/07/2003, 14:03
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

¿Antes de ese mensaje de error te aparece algun otro? Porque es que has mandado salida al navegador antes del setcookie() o el header() o el session_start(), lo que tengas en la linea 9. Exactamente te dice que mandas algo de salida en la linea 8. Puede ser un mensaje de error o algo de HTML o un espacio.

Lo de que no te pasa los valores, es por la distinta configuracion. de PHP. Posiblemente sea el register_globals. Mira http://www.forosdelweb.com/showthrea...988#post238988

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 22/07/2003, 06:41
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
yo digo q el problema puede ser del servidor xq el servidor es mio, yo trabajo para un hospital y el servidor lo e instalado yo, en mi protatil e instalado tb RED HAT, pero esta vez con APACHE2, y me siguen pasando los mismos problemas, añadiendo el de q aora, además, en las paginas html me sale el codigo, no la pagina
  #5 (permalink)  
Antiguo 22/07/2003, 06:42
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
ha q se me olvidaba, yo no utilizo cookies, osea q no utilizo setcookie(), y repito en windows funciona perfectamente
  #6 (permalink)  
Antiguo 22/07/2003, 07:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Bueno, no me he fijado que el error te lo da el session_start(). El error te dice que has enviado salida en la linea 8 de crear_sesion.php, ¿que tienes ahi? ¿Te sale algun otro error antes de este?

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 22/07/2003, 07:48
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
Mira te paso el código completo xq de verdad q ami me tiene muy agoviao :
Código PHP:
<html>
<head>
<title>Escritorio Personal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
   session_start
();
   if (
$login && $password)
   {
        
$db="lcr";
        require (
"conectar.php");
        
$sql="SELECT * FROM doctores WHERE login='$login' AND  password='$password'";
        if (!
$result=mysql_db_query($db,$sql))
             echo 
"Error, no se ha podido contactar con labase de datos";
        else
        {
             if (
mysql_num_rows($result)>0)
             {
                  
$row=mysql_fetch_array($result);
                  
$valid_user=$row['nomDoctor']." ".$row['apeDoctor1']." ".$row['apeDoctor2'];
                  
$docId=$row["docId"];
                  
session_register("valid_user","docId");
                  require (
"escritorio.php");
             }
             else
             {
                  require (
"logarse.html");
                  echo 
"<div align='center'>Error, login o password incorrectos</div>";
             }
        }
   }
?>
</body>
</html>
  #8 (permalink)  
Antiguo 22/07/2003, 07:51
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
por cierto, no me sale ningun error anteriormente.
  #9 (permalink)  
Antiguo 22/07/2003, 08:03
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Bien, no me estrañe que falle. Estas mandando todo ese HTML a la salida. Quita todo el HTML de delante del session_start(). Antes del header() y de mandar la informacion de cookies no debes enviar ninguna salida al navegador. Ni HTML, ni textos, ni espacios, nada.

Claro, ahora me preguntaras por que te funcionaba perfectamente en windows. Si has leido la explicacion que he dado antes, no comento nada de las sesiones; solo header() y cookies. Pero las sesiones tienen dos metodos de propagarse: por URL y por cookies. En el caso que te da error, te dice algo de cookies, por lo que creo que se propaga por cookies y por eso da el error. El metodo de propagacion se puede configurar por php.ini.

Otra razon por la que te podia funcionar perfectamente en windows es si tienes PHP configurado para que alamacene en un buffer toda la salida y la envie toda junta (http://www.php.net/manual/en/ref.outcontrol.php). En este caso, si se pueden enviar headers() y cookies, porque realmente no se ha enviado nada al navegador, sino que todavia esta en el buffer.

Revisa estas configuraciones, aunque yo te recomendaria quitar ese HTML de ahi delante y ponerlo despues.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 22/07/2003, 08:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Y sobre tu otro problema con las variables, por lo que veo en tu script programas para register_globals a on. Si en tu linux esta register_globals a off, eso lo explicaria.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 22/07/2003, 09:03
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 14 años, 4 meses
Puntos: 0
muxas gracias josemi, y sobre todo por la genial explicación, a sido genial al final e optado por poner la variable output_bufferin=On
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 10:29.