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.

UserIsCorrupt
quelle
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

Installieren Sie die GD-Bibliothek

Welches Betriebssystem verwenden Sie?

http://php.net/manual/en/image.installation.php

Windows http://www.dmxzone.com/go/5001/how-do-i-install-gd-in-windows/

Linux http://www.cyberciti.biz/faq/ubuntu-linux-install-or-add-php-gd-support-to-apache/

Admoghal
quelle
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
63

In Ubuntu / Mint (Debian basiert)

$ sudo apt-get install php5-gd
Pierre de LESPINAY
quelle
3
und /etc/init.d/apache2 Neustart
ChrisV
3
@ChrisV Nur wenn Sie Apache verwenden.
Brad
In Ubuntu 14 fehlen Imageantialias
MaxD
6
Für eine neuere Version verwenden Sie php-gd oder php7.0-gd
Puggan Se
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/

Mugoma J. Okomba
quelle
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.

Kommandant
quelle
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.

CodeNoob
quelle
11

Für PHP 7 unter Ubuntu:

sudo apt-get install php7.0-gd

iKode
quelle
9

Nach der Installation von php5-gd Apache ist ein Neustart erforderlich .

Piotr Olaszewski
quelle
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
Muthukumar Anbalagan
quelle
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.

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

nachdem
systemctl restart php-fpm
die Gd-Bibliothek funktioniert.

Tktongmaicom Tkt
quelle
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.

Arakno
quelle