Wie installiere ich die GD-Bibliothek in PHP?

12

Als ich versuchte, die Funktion imagefromjpeg () in PHP zu verwenden, gab es einen Fehler. Also versuchte ich, die GD-Bibliothek mit dem folgenden Befehl zu installieren:

sudo apt-get install php5-gd

Aber ich habe den folgenden Fehler bekommen.

 php5-gd : Depends: php5-common (= 5.5.9+dfsg-1ubuntu4) but 5.5.10+dfsg-1+deb.sury.org~saucy+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Ich benutze Ubuntu 14.04LTS. Ich habe kürzlich mein Betriebssystem von Ubuntu 13.10 aktualisiert. Wie kann dieser Fehler behoben werden?

Die Ausgabe von dpkg -l|grep php ist:

ii  cakephp                                               1.3.15-1                                            all          MVC rapid application development framework for PHP
ii  cakephp-scripts                                       1.3.15-1                                            all          MVC rapid application development framework for PHP (scripts)
ii  libapache2-mod-php5                                   5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libedit2:amd64                                        3.1-20130712-2+debphp.org~saucy+3                   amd64        BSD editline and history libraries
ii  libjson-c2:amd64                                      0.11-3+debphp.org~saucy+1                           amd64        JSON manipulation library - shared library
ii  libjson-c2:i386                                       0.11-3+debphp.org~saucy+1                           i386         JSON manipulation library - shared library
ii  libjson0:amd64                                        0.11-3+debphp.org~saucy+1                           amd64        JSON manipulation library (transitional package)
ii  php-gettext                                           1.0.11-1                                            all          read gettext MO files directly, without requiring anything other than PHP
ii  php-pear                                              5.5.10+dfsg-1+deb.sury.org~saucy+1                  all          PEAR - PHP Extension and Application Repository
ii  php5                                                  5.5.10+dfsg-1+deb.sury.org~saucy+1                  all          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cgi                                              5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                                              5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        command-line interpreter for the php5 scripting language
ii  php5-common                                           5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        Common files for packages built from the php5 source
ii  php5-curl                                             5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        CURL module for php5
ii  php5-dev                                              5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        Files for PHP5 module development
rc  php5-gd                                               5.4.9-4ubuntu2.4                                    amd64        GD module for php5
ii  php5-imagick                                          3.1.2-1+debphp.org~saucy+1                          amd64        ImageMagick module for php5
ii  php5-json                                             1.3.2-3+debphp.org~saucy+1                          amd64        JSON module for php5
ii  php5-mcrypt                                           5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        MCrypt module for php5
rc  php5-mysql                                            5.4.9-4ubuntu2.4                                    amd64        MySQL module for php5
ii  php5-mysqlnd                                          5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        MySQL module for php5 (Native Driver)
ii  php5-pgsql                                            5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        PostgreSQL module for php5
ii  php5-readline                                         5.5.10+dfsg-1+deb.sury.org~saucy+1                  amd64        Readline module for php5
ii  php5-xdebug                                           2.2.3-2build1                                       amd64        Xdebug Module for PHP 5
ii  phpmyadmin                                            4:4.0.10-1                                          all          MySQL web administration tool
ii  pkg-php-tools                                         1.11                                                all          various packaging tools and scripts for PHP packages
Ganesh Babu
quelle
Was ist die Ausgabe von dpkg -l|grep php?
Etagenklo
@etagenklo Ich habe Ihre Ausgabe in der Frage aktualisiert
Ganesh Babu

Antworten:

5

Sie haben anscheinend PHP über das Launchpad PPA installiert:

https://launchpad.net/~ondrej/+archive/php5

Überprüfen Sie Ihre apt sources.list, ob das ppa noch aktiv ist. Am 14.04 sollten folgende Repos aktiv sein:

deb http://ppa.launchpad.net/ondrej/php5/ubuntu trusty main 
deb-src http://ppa.launchpad.net/ondrej/php5/ubuntu trusty main 

Erläuterung:

Es scheint, dass Sie das zusätzliche PHP-Launchpad-Repository zuvor hinzugefügt haben, es wurde jedoch während des dist-Upgrades deaktiviert. Aus diesem Grund hat apt versucht, php5-gdvom Standard-Debian-Repo zu installieren , aber diese Version benötigt auch ein Standard-PHP-Common als Abhängigkeit (das Sie nicht haben). Wenn Sie das Launchpad-Repo erneut aktivieren, php5-gdwurde es von dort aus installiert und alle anderen PHP-Pakete sollten auf die Ubuntu 14.04 ("Trusty") -Versionen von ppa aktualisiert worden sein.

etagenklo
quelle
Ich kann Ihren Befehl immer noch nicht überprüfen. Ich erhalte den folgenden Fehler: deb: Befehl nicht gefunden. Ich habe versucht mit sudo apt-get install deb.But immer noch nicht verwenden
Ganesh Babu
1
Sie sollten dies nicht in die Shell eingeben, Sie sollten die Dateien in /etc/apt/sources.listund /etc/apt/sources.list.d/für diese Einträge einchecken und sie hinzufügen, falls erforderlich.
Etagenklo
Ich habe diese Zeilen in die angegebene Datei eingefügt. Aber ich fand es immer noch nicht funktionierend
Ganesh Babu
Haben Sie Probleme sudo apt-get updategehabt, bevor Sie es erneut versucht haben?
Etagenklo
1
Ich habe meine Antwort mit einer Erklärung aktualisiert.
Etagenklo
0

Ich weiß, dass die ursprüngliche Antwort eine Weile her ist. Ich habe dies auf Ubuntu Server 14.04 LTS installiert, indem ich es zuerst installiert und sudo apt-get install php7.0-fpmdann ausgeführt habe sudo apt-get install php7.0-gd. Bestätigt, dass es großartig funktioniert, besonders für die Captcha-Generierung, die mein Anwendungsfall für eine All-PHP-Lösung ist. Es gibt an dieser Stelle keinen Grund, nicht von php5x zu upgraden, da 7x an dieser Stelle im Jahr 2017 viele Vorteile und keine Nachteile hat.

Jamescampbell
quelle