Foros del Web » Programando para Internet » PHP »

php desde win a unix

Estas en el tema de php desde win a unix en el foro de PHP en Foros del Web. Hola... He desarrollado un sitio web en windows con PHP y ahora necesito publicarla en Linux. Pero tengo el siguiente error en Linux no así ...
  #1 (permalink)  
Antiguo 01/10/2003, 21:18
 
Fecha de Ingreso: febrero-2003
Mensajes: 165
Antigüedad: 21 años, 2 meses
Puntos: 0
php desde win a unix

Hola...

He desarrollado un sitio web en windows con PHP y ahora necesito publicarla en Linux.

Pero tengo el siguiente error en Linux no así en Windows.

Warning: First argument to array_push() needs to be an array in /var/www/virtuals/cubawebtravel/www/register.php on line 53


pedazo de código donde está el error:

$_SESSION['rp_array_error'] = array();

....

//Valido name
if ($_SESSION['rp_name'] == "" ) { //>>>aquí está el error
array_push($_SESSION['rp_array_error'], "First Name is required");
$item_erro++;
$_SESSION['rp_name'] = "";
}


Gracias
  #2 (permalink)  
Antiguo 02/10/2003, 01:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Curioso error. La unica explicacion que encuentro es que el PHP de linux no actualice el contenido del array $_SESSION hasta finalizar el script, y no estan disponible para consultar el valor hasta la siguiente pagina que ejecute el session_start(). Algo asi como pasa con las cookies, que no estan disponibles en el mismo script que les asigna el valor.

Mi consejo es que trabajes con una variable (pe, $errores), y una vez que hayas acabado con la localizacion de mensajes de error, hagas un:
Código PHP:
$_SESSION['rp_array_error']=$errores
O que en lugar de usar el array_push() uses la sintaxis:
Código PHP:
$_SESSION['rp_array_error'][]= "First Name is required"
que hace lo mismo, añadir un elemento al final del array. Esto no se si funcionara.

Prueba y nos cuentas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 18/08/2008, 06:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: php desde win a unix

hola,

yo tengo una inquietud similar.

quería probar si en windows podía simular un entorno de windows, si se puede con el cygwin...

y ahora, el problema que tengo es si podría simular la linea de comandos de windows en una maquina unix o linux. se puede? a ver si alguien sabe algo estaría guai...

saludos
  #4 (permalink)  
Antiguo 18/08/2008, 07:00
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: php desde win a unix

Prueba a usar
Código PHP:
if(empty($_SESSION['rp_name'])); 
Eso funciona seguro en cualquier OS (yo sólo uso Linux y funciona) y es más lógico (teniendo una función para comprobar si está vacío para qué usar igualdades? ).

De todas formas me parece extraño que aparezca el error, en principio el servidor local viene siendo Apache o Lighttpd o el que hayas instalado, y es ahí dónde se ejecuta el PHP así que no debería haber variaciones entre OS siempre que uses el mismo para ambos.

ascendant, eso no es de PHP y desvirtúa el hilo xD Postea en un nuevo hilo en el foro adecuado. (Yo no sé la respuesta, eso también te lo digo)
__________________
Un Lannister siempre cumple sus promesas
  #5 (permalink)  
Antiguo 18/08/2008, 08:42
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: php desde win a unix

Modifica la codificación del documento, es posible que windows haya puesto caracteres de su gusto... Yo los principales problemas que he tenido entre windows y linux es el trato con las mayúsculas que windows ni se fija, y linux si.

A ascendant, utiliza VirtualBox para "instalarte" qualquier sistema operativo.
__________________
Francesc Jimenez
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:18.