Foros del Web » Programando para Internet » PHP »

Problema con capcha.php en servidor linux

Estas en el tema de Problema con capcha.php en servidor linux en el foro de PHP en Foros del Web. Buenas tardes espero que algien me pueda orientar en que estoy fallando lo que pasa es que migre mi sitio a un servidor linux desde ...
  #1 (permalink)  
Antiguo 06/10/2010, 12:54
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 143
Antigüedad: 14 años, 4 meses
Puntos: 2
Problema con capcha.php en servidor linux

Buenas tardes espero que algien me pueda orientar en que estoy fallando lo que pasa es que migre mi sitio a un servidor linux desde uno en windows donde la validacion de usuario la realizo con un capcha.php en el servidor windows me fuciona perfectamente pero en linux tengo problemas el capcha se ve pero no me manda nada a en $_SESSION['tmptxt'] le puse en echo $_SESSION['tmptxt']; y me aparece como vacio aca dejo el codigo del capch.php para ver si esque alguien me puede achar una mano.
capcha.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. function randomText($length) {
  4.     $pattern = "1234567890";
  5.     for($i=0;$i<$length;$i++) {
  6.  
  7.       $key .= $pattern{rand(0,4)};
  8.  
  9.     }
  10.  
  11.     return $key;
  12.  
  13. }
  14.  
  15. $_SESSION['tmptxt'] = randomText(4);
  16.  
  17. $captcha = imagecreatefromgif("bgcaptcha.gif");
  18.  
  19. $colText = imagecolorallocate($captcha, 0, 0, 0);
  20.  
  21. imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
  22.  
  23. header("Content-type: image/gif");
  24.  
  25. imagegif($captcha);
  26.  
  27. ?>
  #2 (permalink)  
Antiguo 09/10/2010, 16:59
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problema con capcha.php en servidor linux

Hola Rasec101, tu código me funciona perfectamente en un server Linux y la variable de session coge valor correctamente.
No sé en qué condiciones estás trabajando, no sé si has visto que hay una variable indefinida, además el archivo bgcaptcha.gif debe existir en la carpeta donde se ejecuta el script, prueba esto:

Código PHP:
<?php

session_start 
();
function 
randomText($length) {
    
$key "";
    
$pattern "1234567890";
    for(
$i 0$i $length$i ++) {
        
        
$key .= $pattern {rand 0)};
    
    }
    
    return 
$key;

}

$_SESSION ['tmptxt'] = randomText );

$captcha imagecreatefromgif "bgcaptcha.gif" );

$colText imagecolorallocate $captcha00);


imagestring $captcha5167$_SESSION ['tmptxt'], $colText );

header "Content-type: image/gif" );

imagegif $captcha );

?>
dónde lo único que cambia es la definición de $key. Si no estás trabajando con error reporting e_all, no verás el warning y tampoco la imagen, a ver si te sirve. Un saludo

Etiquetas: linux, servidores
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 13:47.