Foros del Web » Programando para Internet » PHP »

Código PHP en windows IIS

Estas en el tema de Código PHP en windows IIS en el foro de PHP en Foros del Web. Hola gente... Tengo un serio problema con un "servidor" (Windows - IIS) en el cual esta instalado PHP Versión 5.1.4, cuando subo un archivo para ...
  #1 (permalink)  
Antiguo 28/03/2007, 08:41
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Pregunta Código PHP en windows IIS

Hola gente...

Tengo un serio problema con un "servidor" (Windows - IIS) en el cual esta instalado PHP Versión 5.1.4,
cuando subo un archivo para chequear que funcione Ej.: <? PHPinfo(); ?> me abre la pagina con los datos del PHP del server de forma correcta.
Supuestamente por lo que e leído, esto indicaría que el servidor esta correctamente configurado.
Pero cuando utilizo el siguiente código en un archivo (para redireccionar según el idioma del navegador):

<?php
$idioma = substr ($HTTP_ACCEPT_LANGUAGE, 0, 2);
if ($idioma == "de")
{
Header("Location: temp/index_ger.htm");
}
else if ($idioma == "en")
{
Header("Location: temp/index_eng.htm");
}
else if ($idioma == "fr")
{
Header("Location: temp/index_fra.htm");
}
else
{
Header("Location: temp/index_esp.htm");
}
?>




no me funciona, es decir, por más que tenga el navegador en ingles me abre el sitio en español.
Este mismo script lo tengo en otro servidor (Linux-Apache) y funciona correctamente.

Ya anteriormente cuando intente en otra oportunidad utilizar código PHP en este server "Windows - IIS", para el envío de formularios,
tampoco me funciono, y lo solucione enviando las variables desde el formulario (en flash) a mi server "Linux - Apache", de
esta manera funciono, pero tiene un 50% más de probabilidades de fallar ya que en este caso el éxito del envío depende de 2 servidores.

Alguna idea de que puede estar mal en el server?
Se que talvez esta pregunta iría mejor en la sección de "Servidores", pero es muy poco visitada y algo pobre,
por el contrario aquí en PHP ya eh tenido grandes ayudas de gente muy capas.

Desde ya agradezco tota la info al respecto!!!
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
  #2 (permalink)  
Antiguo 28/03/2007, 10:08
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Código PHP en windows IIS

Hola

Bueno, pues creo que eso no depende del navegador sino del servidor como tal, mira, entra al phpinfo y busca la variable HTTP_ACCEPT_LANGUAGE y tal vez tenga este valor en-us,en;q=0.5 si es asi pues siempre se ira por ingles porque tu tomas directamente el valor de esa variable y siempre tendra en.
Solución?? Modificar el php.ini o hacer esto

Código PHP:
<?
//esta variable la podrias cambiar por medio de un menu para que la
//persona escoja que idioma quiere
$HTTP_ACCEPT_LANGUAGE "fr";
$idioma substr ($HTTP_ACCEPT_LANGUAGE02);
if (
$idioma == "de")
{
Header("Location: temp/index_ger.htm");
}
else if (
$idioma == "en")
{
Header("Location: temp/index_eng.htm");
}
else if (
$idioma == "fr")
{
Header("Location: temp/index_fra.htm");
}
else
{
Header("Location: temp/index_esp.htm");
}
Espero te sirva
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 28/03/2007, 11:01
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Re: Código PHP en windows IIS

Hola El Patrón

Gracias por tu respuesta.
Te comento que el PHP del servidor tiene como valor de la variable "HTTP_ACCEPT_LANGUAGE" = es


De todos modos lo que estoy tratando es de ver porque en un servidor (Linux-Apache) funciona, y en el otro (Windows - IIS) no.
En local "http://localhost" también funciona perfecto (Windows XP - Apache).

Me gustaría saber si algún detalle en la configuración del php del servidor IIS o de su PHP están haciendo que no funcione, ya que como comento, ningún script funciona, pero el "phpinfo.php" da ok.
Me explico?

Gracias nuevamente y espero los aportes!!!
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
  #4 (permalink)  
Antiguo 28/03/2007, 11:09
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Código PHP en windows IIS

Hola

Bueno, pues habria que revisar en el php.ini si esta muy diferente del que vos tienes local por ej, puede ser eso, o que sea una version de php que tenga activo algo de seguridad, puede ser tambien, bueno, espero lo soluciones.
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #5 (permalink)  
Antiguo 30/03/2007, 11:15
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Re: Código PHP en windows IIS

Hola nuevamente,
Gracias El Patrón.

Bueno el tema de "redireccionar según el idioma del navegador" lo pude resolver.
Tal vez le sea útil para alguien!!!
El servidor tenia el valor de register_globals =off y por lo tanto esto me impedía el correcto funcionamiento del código.
Preferí dejar el valor en "off", como sabrán es el futuro de PHP, y modificar el script.

de esta manera:

esta línea (global)
$idioma = substr ($HTTP_ACCEPT_LANGUAGE, 0, 2);


Por esta otra línea (Superglobal)
$idioma = substr ($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);


Ahora si, el tema del formulario me sigue sin funcionar pero creo que el tema esta en el servidor directamente y no en la configuración del PHP de este, ya que el PHP devuelve el ok, pero el servidor (SMTP) aparentemente no envía el mail.

Saludos
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
  #6 (permalink)  
Antiguo 30/03/2007, 14:19
 
Fecha de Ingreso: agosto-2003
Ubicación: Guatemala
Mensajes: 94
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: Código PHP en windows IIS

Al tener las register_globals en off, no puedes acceder directamente a los valores que te envia el formulario, sino a traves de las variables globales $_POST['nombre_campo'], de la misma forma, es para hacer uso de las querystring, recibes los datos con $_GET['nombre_variable'].

Saludos.
__________________
Luis Pirir
Programador Web
Móvil: (502) 50623292
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 21:49.