Come installare la libreria GD in php?


12

quando ho provato a usare la funzione imagefromjpeg () in PHP, ho generato un errore, quindi ho provato a installare la libreria GD usando il seguente comando:

sudo apt-get install php5-gd

Ma ho avuto il seguente errore.

 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.

Sto usando Ubuntu 14.04LTS. Di recente ho aggiornato il mio sistema operativo da Ubuntu 13.10. Come superare questo errore?

L'output di dpkg -l|grep php è:

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

Qual è l'output di dpkg -l|grep php?
etagenklo,

@etagenklo Ho aggiornato il tuo output nella domanda
Ganesh Babu,

Risposte:


5

Sembra che tu abbia installato PHP tramite launchpad PPA:

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

Controlla il tuo apt sources.list se il ppa è ancora attivo. Il 14.04, dovresti avere questi repository attivi:

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

Spiegazione:

Sembra che tu abbia già aggiunto il repository PHP-launchpad aggiuntivo, ma è stato disattivato durante l'aggiornamento dist. Per questo motivo, apt ha tentato di installare php5-gddal repository debian standard, ma questa versione richiede anche un php-common come dipendenza (che non si possiede). Attivando nuovamente il repository del launchpad, php5-gdè stato installato da lì e tutti gli altri pacchetti php avrebbero dovuto essere aggiornati alle versioni Ubuntu 14.04 ("fidate") dal ppa.


Non riesco ancora a controllare il tuo comando. Ottengo il seguente errore: deb: comando non trovato. Ho provato a usare sudo apt-get install deb, ma ancora non lo uso
Ganesh Babu,

1
Non dovresti inserire questo nella shell, dovresti controllare i file in /etc/apt/sources.liste /etc/apt/sources.list.d/per queste voci e aggiungerli se necessario.
etagenklo,

Ho aggiunto quelle righe nel file che hai specificato. Ma ancora non l'ho trovato funzionante
Ganesh Babu,

Hai riscontrato un problema sudo apt-get updateprima di riprovare?
etagenklo,

1
Ho aggiornato la mia risposta con una spiegazione.
etagenklo,

0

So che è passato un po 'di tempo per la risposta originale. L'ho installato su Ubuntu Server 14.04 LTS prima installandolo e sudo apt-get install php7.0-fpmpoi eseguendolo sudo apt-get install php7.0-gd. Confermato che funziona benissimo, specialmente per la generazione captcha che è il mio caso d'uso per una soluzione all-php. Non vi è alcun motivo per non eseguire l'aggiornamento da php5x a questo punto in quanto 7x ha molti vantaggi e nessun aspetto negativo a questo punto nel 2017.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.