Foros del Web » Programando para Internet » PHP »

imagecreate() no responde

Estas en el tema de imagecreate() no responde en el foro de PHP en Foros del Web. Hola, tengo un problema que supongo que debe de ser bastante tonto, pero no consigo encontrar la causa. Si llamo a la función imagecreate() o ...
  #1 (permalink)  
Antiguo 13/09/2011, 03:33
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta imagecreate() no responde

Hola, tengo un problema que supongo que debe de ser bastante tonto, pero no consigo encontrar la causa. Si llamo a la función imagecreate() o bien imagecreatetruecolor() la ejecución simplemente se detiene, no aparece ningún error pero el script termina sin más. Por ejemplo:

echo("Hola");
imagecreate(100, 100);
echo("Adios");

Saca "Hola", pero no "Adios". Entiendo que de alguna manera la llamada anterior está fallando, pero tampoco me da ninguna indicación de error ni nada parecido.

La causa creo que puede estar en la librería "php_gd2.dll". No la tenía en mi carpeta de extensiones, así que la he descargado suelta de por ahí, la he pegado en la carpeta indicada y he agregado al "php.ini" la línea "extension=php_gd2.dll". He reiniciado el Apache y no se ha quejado, el servidor está funcionando bien, pero esa llamada sigue fallando.

¿Tal vez una incompatibilidad entre la versión de PHP y la versión de la librería GD?

Mi versión de PHP es 5.2.17, y la librería no sé, sólo puedo decir que el archivo DLL ocupa 640 KB (655.360 bytes)

¡Gracias!
  #2 (permalink)  
Antiguo 13/09/2011, 04:52
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: imagecreate() no responde

Prueba poniendo esto antes de echo("Hola");
error_reporting(E_ALL);
ini_set(‘display_errors’, 1);

Igual es que tienes deshabilitado los errores, y por eso no te muestra nada
  #3 (permalink)  
Antiguo 13/09/2011, 08:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: imagecreate() no responde

¡Gracias! ^^ Me ha servido, ahora sí me saca un error:

Fatal error: Call to undefined function imagecreatetruecolor()

¿Qué puede estar pasando?
  #4 (permalink)  
Antiguo 13/09/2011, 08:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: imagecreate() no responde

Cita:
Iniciado por dersir Ver Mensaje
¡Gracias! ^^ Me ha servido, ahora sí me saca un error:

Fatal error: Call to undefined function imagecreatetruecolor()

¿Qué puede estar pasando?
Si dice que no existe tal función significa que no tienes instalada la extensión GD para PHP.

Consulta el manual.
http://php.net/gd
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/09/2011, 09:51
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: imagecreate() no responde

Gracias, la he buscado en ese link, pero según explican en la página tendría que recompilar PHP ¿De verdad no existe forma de colocar el DLL en la carpeta de las extensiones para utilizarla sin más? <modo_pedir_demasiado>A lo mejor si alguien tiene el "php_gd2.dll" que le funcione sin problemas podria subirla a algún sitio para probar a descargarla</modo_pedir_demasiado>

¡Saludos!
  #6 (permalink)  
Antiguo 13/09/2011, 10:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: imagecreate() no responde

¿Usa Windows?

Supongo que el paquete que instalaste debería traer dicha extensión, solo necesitas activarla.

<modo_ponte_a_leer>Por favor, investiga al respecto.</modo_ponte_a_leer>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 13/09/2011, 17:12
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: imagecreate() no responde

Si, uso Windows.

He investigado mucho, pero siempre me encuentro con que debería tener ya la librería y lo cierto es que no la tengo, y ese es básicamente el problema. Sé cómo activarla, ya lo hice con la de php_mysql, pero el problema es que por alguna oscura razón no tengo incluída la de GD, que en teoría sí debería.

¿Preguntar en un foro no forma parte de investigar? ;)

Saludos
  #8 (permalink)  
Antiguo 13/09/2011, 17:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: imagecreate() no responde

Bien, pues si, investigar en el foro es parte pero el foro no es un manual de php.

El manual oficial de PHP contiene toda la información al respecto de como instalar y configurar extensiones de PHP.

En determinado caso sería bueno que indicaras como fue que instalaste PHP, y a partir de ahí comiences a hacer preguntas en los lugares adecuados.

Intentar adivinar que hiciste es complicado, no puedes esperar a recibir ayuda si no indicas mas de lo que ya has dicho, que no es mucho.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 13/09/2011, 17:54
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: imagecreate() no responde

Bueno, ya resolví el problema. Efectivamente, como descargué la DLL de por ahí suelta, no era la versión indicada para mi versión de PHP, justo como me estaba imaginando. Lo que he hecho es descargar de nuevo todo el ZIP de PHP desde la página oficial y extraer únicamente el php_gd2.dll a mi carpeta de extensiones. Ahora lo carga y funciona sin problemas, sólo era que tenía una versión errónea del archivo. El resto lo estaba haciendo bien.

Gracias a todos :)

Etiquetas: imagecreate, imagecreatetruecolor, libreria, php_gd2, responde
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 23:42.