Error 500 al intentar subir archivo al servidor

(1/1)

UsuarioZ:
Buenas, estoy haciendo una página con subida de archivos (imágenes), uso la biblioteca de "intervention imagen" para guardar las imágenes en formatos, calidad y tamaño determinados, este es el código que estoy usando para guardarlas, en el servidor local funciona perfectamente, pero en el servidor de digitalocean tira error 500 al enviar el formulario, no entiendo que puede ser, otros formularios sin input tipo file funcionan bien, uso freesqldatabase para la base de datos.

Código
use Intervention\Image\ImageManagerStatic as Image;
 


Código
               $imagen_png = Image::make($_FILES['imagen']['tmp_name'])->fit(400,400)->encode('png', 80);
               $imagen_webp = Image::make($_FILES['imagen']['tmp_name'])->fit(400,400)->encode('webp', 80);
 



Código
               $imagen_png->save($carpeta_imagenes . '/' . $nombre_imagen . '.png');
               $imagen_webp->save($carpeta_imagenes . '/' . $nombre_imagen . '.webp');
 

En el lado del servidor solo me muestra esto:

Código:

thrown in /workspace/vendor/intervention/image/src/Intervention/Image/Gd/Driver.php on line 19
[proyecto] [2023-03-01 22:19:14] 10.244.18.188 - - [01/Mar/2023:22:19:13 +0000] "POST /admin/imagenes/crear HTTP/1.1" 500 - "https://...
[/code

Segui esa ruta y en esa linea, sale este error:

"GD Library extension not available with this PHP installation"

Que se puede hacer?

Danielㅤ:
Hola, aqui te dejo información sobre la librería GD de PHP:

https://www.php.net/manual/es/book.image.php


Saludos

UsuarioZ:
Cita de: Danielㅤ en  1 Marzo 2023, 23:41 pm

Hola, aqui te dejo información sobre la librería GD de PHP:

https://www.php.net/manual/es/book.image.php


Saludos


Gracias, intente meter la libreria"ext-gd" en composer, pero me tira otro error del lado del servidor al hacer "composer update", me tira esto:



Que se puede hacer en este caso?

UsuarioZ:
Solucionado, la solución fue incluir "ext-gd" en composer, y hacer el update pero en el repositorio de git e incluir la carpeta de vendor en el commit.

mchojrin:
Me parece que te haz saltado un paso al publicar tu solución. Lo que está diciendo el error es que no está instalada una extensión php.

Ese tipo de tarea no la puede resolver composer por sí mismo, requiere que se instale la extensión manualmente.

Está bien lo de agregarlo como dependencia en el archivo composer.json para que, si hay que instalar el sistema en otro lado, las dependencias estén explícitas, pero la solución última pasa por instalar la librería usando algo como:

Código:

apt install php8.1-gd

Navegación

[0] Índice de Mensajes