86

私はこれを検索しましたが、過去の質問で提供された解決策は私には完全に理解できません。のような関数を実行すると、次のようimagecreatefromjpegになります。

致命的なエラー:未定義の関数imagecreatefromjpeg()の呼び出し..。

私はPHPの新規インストールに取り組んでいます。私の最後のインストールでは、この問題は発生しませんでした。何が起こっているのかわかりません。

4

12 に答える 12

91

GDライブラリをインストールする

使用しているOSはどれですか?

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/

于 2012-11-12T04:27:20.963 に答える
69

Ubuntu / Mint(Debianベース)

$ sudo apt-get install php5-gd
于 2014-02-04T14:36:46.727 に答える
21

Fatal error: Call to undefined function imagecreatefromjpeg()GDがインストールされていても取得できます。

解決策は、jpedlibをインストール/有効化することです。

Ubuntuの場合

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

CentOS の場合

    yum install libjpeg-devel
    yum install freetype-devel

--with-jpeg-dir --with-freetype-dirソースからコンパイルする場合は、またはを追加し--with-jpeg-dir=/usr --with-freetype-dir=/usrます。

詳細については、https://www.tectut.com/2015/10/solved-call-to-undefined-function-imagecreatefromjpeg/を確認してください。

于 2018-01-08T08:06:24.363 に答える
19

ライブラリGD2を有効にする必要があります。

(適切な)php.iniファイルを見つけます

次の行を見つけます:; extension = php_gd2.dllそして、前のセミコロンを削除します。

行は次のようになります。

extension=php_gd2.dll

次に、apacheを再起動すると、準備が整います。

于 2012-11-12T04:27:25.463 に答える
18

私のように、PHP Dockerイメージの1つをベースとして使用している場合は、上記で説明したものとは異なる手順を使用してgd拡張機能を追加する必要があります。

php:7.4.1-apacheあなたがあなたのに追加する必要がある画像のために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

これらの開発パッケージは、GDphp拡張機能のコンパイルに必要です。私の場合、これにより、PHPでPNGおよびJPEGをサポートするGDがアクティブ化されました。

于 2020-06-18T11:51:38.230 に答える
13
sudo apt-get install phpx.x-gd 
sudo service apache2 restart

xxはversiónphpです。

于 2016-09-21T09:39:30.660 に答える
11

Ubuntuのphp7の場合:

sudo apt-get install php7.0-gd

于 2017-05-25T14:17:07.980 に答える
9

php5-gd apacheをインストールした後、再起動が必要です。

于 2014-05-31T07:16:40.913 に答える
7

CentOS、RedHatなどでは、以下のコマンドを使用します。Apacheを再起動することを忘れないでください。PHPモジュールをロードする必要があるためです。

yum -y install php-gd
service httpd restart
于 2014-08-12T19:15:31.297 に答える
1


systemctl restart php-fpm
Gdライブラリが機能した後。

于 2020-02-26T23:11:11.177 に答える
1

前述のように、GDライブラリをインストールする必要がある場合があります。

シェルでは、最初にphpのバージョンを確認してください。
php -v

次に、それに応じてインストールします。私のシステム(Linux-Ubuntu)では、phpバージョン7.0です:
sudo apt-get install php7.0-gd

Webサーバーを再起動します。
systemctl restart apache2

これで、GDライブラリがインストールされて有効になっているはずです。

于 2020-04-18T18:51:44.177 に答える
1

をインストールした後、Windowsでこれを理解しようと多くの時間を費やしましたPHP Version 8.0.11

phpinfo.phpGDがロードされたかどうかを確認するために、このファイルを作成しました。

<?php
if (extension_loaded('gd')) {
  print 'gd loaded';
} else {
  print 'gd NOT loaded';
}

phpinfo(); ?>

それが戻った場合は、ファイルに次のチェックが外されているgd NOT loadedことを確認してください。php.ini

; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
extension=gd

さらに下にはextension_dir、Windowsのセクションがあり、次のチェックを外す必要があります。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "ext"

これで、ファイルをgd loaded実行するタイミングがわかり、関数呼び出し(など)が意図したとおりに機能するはずです。phpinfo.phpimagecreatefromjpeg()

于 2021-09-28T05:14:18.437 に答える