¿Cómo instalar la biblioteca GD en php?

12

cuando intenté usar la función imagefromjpeg () en PHP, arrojó un error, así que intenté instalar la biblioteca GD usando el siguiente comando:

sudo apt-get install php5-gd

Pero recibí el siguiente error.

 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.

Estoy usando Ubuntu 14.04LTS. Recientemente actualicé mi sistema operativo desde ubuntu 13.10. ¿Cómo superar este error?

La salida de dpkg -l|grep php es:

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
fuente
¿Cuál es el resultado de dpkg -l|grep php?
etagenklo
@etagenklo He actualizado su salida en la pregunta
Ganesh Babu

Respuestas:

5

Parece que has instalado PHP a través de PPA de launchpad:

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

Verifique su apt sources.list si el ppa aún está activo. En 14.04, debe tener estos repositorios activos:

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

Explicación:

Parece que ya había agregado el repositorio adicional PHP-launchpad, pero se desactivó durante la actualización de dist. Debido a eso, apt intentó instalar php5-gddesde el repositorio de Debian estándar, pero esta versión también necesita un php-common estándar como dependencia (que no tiene). Al activar el repositorio de launchpad nuevamente, php5-gdse ha instalado desde allí y todos sus otros paquetes php deberían haberse actualizado a las versiones Ubuntu 14.04 ("confiable") de la ppa.

etagenklo
fuente
Todavía no puedo verificar tu comando. Me sale el siguiente error: deb: comando no encontrado. Intenté usar sudo apt-get install deb. Pero todavía no lo uso
Ganesh Babu
1
No debe ingresar esto en el shell, debe registrar los archivos en /etc/apt/sources.listy /etc/apt/sources.list.d/para estas entradas y agregarlas si es necesario.
etagenklo
He agregado esas líneas en el archivo que ha especificado. Pero aún así no lo encontré funcionando
Ganesh Babu
¿Emitiste sudo apt-get updateantes de intentarlo de nuevo?
etagenklo
1
He actualizado mi respuesta con una explicación.
etagenklo
0

Sé que ha pasado un tiempo para la respuesta original. Lo instalé en Ubuntu Server 14.04 LTS primero instalándolo y sudo apt-get install php7.0-fpmluego ejecutándolo sudo apt-get install php7.0-gd. Confirmó que funciona muy bien, especialmente para la generación de captcha, que es mi caso de uso para una solución completa de php. No hay ninguna razón para no actualizar php5x en este momento, ya que 7x tiene muchos beneficios y ninguna desventaja en este punto en 2017.

jamescampbell
fuente