imagecreatefromjpeg und ähnliche Funktionen funktionieren in PHP nicht


76

Ich habe danach gesucht und die in früheren Fragen bereitgestellten Lösungen sind für mich völlig unverständlich. Immer wenn ich Funktionen wie ausführe imagecreatefromjpeg, bekomme ich Folgendes:

Schwerwiegender Fehler: Aufruf der undefinierten Funktion imagecreatefromjpeg () ...

Ich arbeite an einer neuen Installation von PHP. Meine letzte Installation hatte dieses Problem nie. Ich verstehe nicht, was los ist.


3
ist GD aktiviert / installiert?
Austin Brunkhorst

2
Stellen Sie sicher, dass Sie GD2nicht nur installiert, sondern auch in Ihrem aktiviert haben php.ini.
Havelock

3
Wie würde ich das machen?
UserIsCorrupt

Antworten:


82

Gah, die Lösung in diesem Link hat gut funktioniert. Ich habe schon immer damit herumgespielt und konnte es nicht zum Laufen bringen, wusste nicht, dass es so einfach ist. Vielen Dank, dass Sie dies gefunden haben!
UserIsCorrupt


17

Sie können immer noch erhalten, Fatal error: Call to undefined function imagecreatefromjpeg()auch wenn GD installiert ist.

Die Lösung besteht darin, jped lib zu installieren / aktivieren:

Unter Ubuntu :

    apt-get install libjpeg-dev
    apt-get install libfreetype6-dev

Auf CentOS :

    yum install libjpeg-devel
    yum install freetype-devel

Beim Kompilieren aus dem Quellcode hinzufügen --with-jpeg-dir --with-freetype-diroder --with-jpeg-dir=/usr --with-freetype-dir=/usr.

Weitere Informationen finden Sie unter https://www.tectut.com/2015/10/solved-call-to-undefined-function-imagecreatefromjpeg/


16

Sie müssen die Bibliothek GD2 aktivieren.

Finden Sie Ihre (richtige) php.ini-Datei

Suchen Sie die Zeile :; extension = php_gd2.dll und entfernen Sie das Semikolon vorne.

Die Linie sollte folgendermaßen aussehen:

extension=php_gd2.dll

Starten Sie dann Apache neu und Sie sollten bereit sein zu gehen.


Nur ein Hinweis für alle, die sich das ansehen, da php.ini eine große Datei ist. Diese Zeile ist unter der Dynamic ExtensionsKategorie (ungefähr in der Mitte des Dokuments)
Eric F

12
sudo apt-get install phpx.x-gd 
sudo service apache2 restart

xx ist die versión php.


11

Für PHP 7 unter Ubuntu:

sudo apt-get install php7.0-gd



6

Verwenden Sie in CentOS, RedHat usw. den folgenden Befehl. Vergessen Sie nicht, den Apache neu zu starten. Weil das PHP-Modul geladen werden muss.

yum -y install php-gd
service httpd restart

6

Wenn Sie wie ich sind und eines der PHP Docker-Images als Basis verwenden, müssen Sie die gd-Erweiterung mit anderen Anweisungen als den oben beschriebenen hinzufügen.

Für das php:7.4.1-apacheBild müssen Sie Folgendes hinzufügen Dockerfile:

RUN apt-get update && \
    apt-get install -y zlib1g-dev libpng-dev libjpeg-dev

RUN docker-php-ext-configure gd --with-jpeg && \
    docker-php-ext-install gd

Diese Entwicklungspakete werden für die Kompilierung der GD PHP-Erweiterung benötigt. Für mich führte dies zur Aktivierung von GD mit PNG- und JPEG-Unterstützung in PHP.


1
Danke Paul, es hat wie ein Zauber für mich funktioniert! \ o /: Rakete:
Thiago Silva Ferreira


1

Wie bereits erwähnt, muss möglicherweise die GD-Bibliothek installiert sein.

Überprüfen Sie auf einer Shell zuerst Ihre PHP-Version:
php -v

Dann entsprechend installieren. In meinem System (Linux-Ubuntu) ist es PHP-Version 7.0:
sudo apt-get install php7.0-gd

Starten Sie Ihren Webserver neu:
systemctl restart apache2

Sie sollten jetzt die GD-Bibliothek installiert und aktiviert haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.