imagegd2(): GD2 image support has been disabled

Rybajz
Člen | 11
+
0
-

Ahoj,
v PHP 7.4 dostávám zvláštní chybu při práci s obrázky:

imagegd2(): GD2 image support has been disabled

File: …/vendor/nette/utils/src/Utils/Image.php:698

695:        public function __clone()
696:        {
697:            ob_start(function () {});
698:            imagegd2($this->image);
699:            $this->setImageResource(imagecreatefromstring(ob_get_clean()));
700:        }

Používám verzi Nette 3.0. Nevěděl by někdo, kde může být problém?

GD mám v php povoleno:(

Milo
Nette Core | 1283
+
0
-

Zkus se podívat do výpisu phpinfo()

David Grudl
Nette Core | 8108
+
+1
-

Ta chyba říká, že jenom není povolena práce s formátem .GD, tedy např. funkce imagegd2() co se používá pro klonování. Proč to tak je netuším.

nightfish
Člen | 472
+
+1
-

Je možné, že máš libgd ve verzi 2.3.3, ve které byla ve výchozí konfiguraci pro build vypnuta podpora pro formát gd/gd2. Je to chyba, která bude pravdpodobně pro libgd 2.3.4 revertnuta/opravena, nicméně pokud jsem správně pochopil, tak pro libgd 2.4 chtějí tuto změnu (vypnutí podpora gd/gd2 ve výchozí konfiguraci buildu) opět aplikovat – otázka je, jak se k ní postaví tvůrci balíčků pro PHP, jestli budou podporu pro vypnuté formáty zapínat explicitně v rámci buildu či nikoliv.

Kontext:
https://github.com/…d/issues/428#…
https://github.com/…bgd/pull/779

Rybajz
Člen | 11
+
0
-

@nightfish jj přesně tuhle verzi mám. Instaloval jsem PHP přes brew na mac os. Takže teď nevím jak se k tomu postavit. Jestli čekat na 2.3.4 nebo předělat práci s obrázky v aplikaci.

Siki
Člen | 9
+
0
-

Mám stejný problém. Po aktualizace Debianu se nainstalovala knihovna libgd 2.3.3.

Podle všeho je GD(2) starý formát a od verze 2.3.3 je „disabled“ (viz https://github.com/…cussions/701#…).

Vyřešil jsem to zatím tak, že v souboru …/vendor/nette/utils/src/Utils/Image.php jsem přepsal funkci imagegd2() na imagejpeg(). Vím, není to správné řešení, ale pro rychlou opravu to funguje.

I na php.net je napsané, že imagegd(2) by mělo být použité jen pro vývoj a testování (https://www.php.net/…imagegd2.php)

David Grudl
Nette Core | 8108
+
+3
-

Zkusil jsem dát do nette/utils 3.2-dev klonování přes PNG, tak zkuste, jestli vám to funguje.

simPod
Člen | 383
+
0
-
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading nette/utils (v3.2.7 => v3.2.x-dev f910b74)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 3 updates, 0 removals
  - Downloading nette/utils (v3.2.x-dev f910b74)
  - Upgrading nette/utils (v3.2.7 => v3.2.x-dev f910b74): Extracting archive

funguje, luxus, diky