如何在php中安装GD库?


12

当我尝试在PHP中使用imagefromjpeg()函数时,抛出了错误。因此,我尝试使用以下命令安装GD库:

sudo apt-get install php5-gd

但是我遇到了以下错误。

 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.

我正在使用Ubuntu 14.04LTS。我最近从ubuntu 13.10升级了操作系统。如何克服这个错误?

的输出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

输出是dpkg -l|grep php什么?
etagenklo 2014年

@etagenklo我已经更新了您在问题中的输出
Ganesh Babu

Answers:


5

看来您已经通过启动板PPA安装了PHP:

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

如果ppa仍处于活动状态,请检查您的apt sources.list。在14.04,您应该激活以下存储库:

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

说明:

似乎您之前已添加了其他PHP-launchpad存储库,但是在dist-upgrade期间已将其停用。因此,apt尝试php5-gd从标准的debian repo 安装,但是此版本还需要标准的php-common作为依赖项(您没有此依赖项)。通过再次激活启动板仓库,php5-gd已经从那里安装了它,并且所有其他php软件包都应该已经从ppa升级到Ubuntu 14.04(“可信任”)版本。


我仍然无法检查您的命令。我收到以下错误:deb:找不到命令。我尝试使用sudo apt-get install deb。但仍未使用
Ganesh Babu

1
您不应在外壳程序中输入此内容,而应检查其中的文件/etc/apt/sources.list以及/etc/apt/sources.list.d/这些条目,并在必要时添加它们。
etagenklo 2014年

我已经将这些行添加到您指定的文件中。但我仍然没有发现它起作用
Ganesh Babu 2014年

您是否sudo apt-get update在再次尝试之前发出过通知?
etagenklo 2014年

1
我用解释更新了我的答案。
etagenklo 2014年

0

我知道原来的答案已经有一段时间了。我先通过安装sudo apt-get install php7.0-fpm然后运行在Ubuntu Server 14.04 LTS上安装了该软件sudo apt-get install php7.0-gd。确认它非常有效,特别是对于验证码生成,这是我使用全PHP解决方案的用例。目前没有理由不从php5x升级,因为7x具有许多优点,并且在2017年这一点没有不利之处。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.