GD CI4 probléma

GD CI4 probléma
2022-08-24T17:49:46+02:00
2022-08-24T19:33:37+02:00
2022-12-07T03:20:33+01:00
jonaszsolt90
Sziasztok.

Az alábbi problémám lenne.

Adott egy ubuntu szerver, melyen CodeIgniter4 keretrendszer fut, és szeretném a képfeltöltésnél átméretezni a képetet azonban problémába ütközik.

Forráskódrészlet:

$x_file = $this->request->getFile('file'); $image = \Config\Services::image() ->withFile($x_file) ->resize(100, 100, true, 'height') ->save(FCPATH .'/images/'. $x_file->getRandomName()); $x_file->move(WRITEPATH . 'uploads'); $fileData = [ 'name' => $x_file->getName(), 'type' => $x_file->getClientMimeType() ]; $store = $db->insert($fileData);

Amikor lefut kiírja hogy:

CodeIgniter\Images\Expections\ImageExpection The framework needs the following extension(s) installed and loaded: GD

A szerveren fel van telepítve a GD és a php.iniben is engedélyezve van:

GD Support => enabled GD headers Version => 2.3.3 GD library Version => 2.3.3 FreeType Support => enabled FreeType Linkage => with freetype GIF Read Support => enabled GIF Create Support => enabled JPEG Support => enabled PNG Support => enabled WBMP Support => enabled XPM Support => enabled XBM Support => enabled WebP Support => enabled BMP Support => enabled AVIF Support => enabled TGA Read Support => enabled Directive => Local Value => Master Value gd.jpeg_ignore_warning => 1 => 1
Miért nem ismerheti fel a GD-t? Járt már valaki így?

A szerveren az alábbi php verzió fut, mely a leírás szerint kompatibilis a CI4-el:

PHP 8.1.9 (cli) (built: Aug 15 2022 09:39:52) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.9, Copyright (c) Zend Technologies
Mutasd a teljes hozzászólást!
Szia!
A GD -t felejtsd el PHP8 -al, inkább iMagick -et használd.

$x_file = $this->request->getFile('file'); $image = \Config\Services::image('imagick') ->withFile($x_file) ->resize(100, 100, true, 'height') ->save(FCPATH .'/images/'. $x_file->getRandomName()); $x_file->move(WRITEPATH . 'uploads'); $fileData = [ 'name' => $x_file->getName(), 'type' => $x_file->getClientMimeType() ]; $store = $db->insert($fileData);
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd