kiedy próbowałem użyć funkcji imagefromjpeg () w PHP, zgłosił błąd. Próbowałem zainstalować bibliotekę GD, używając następującego polecenia:
sudo apt-get install php5-gd
Ale dostałem następujący błąd.
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.
Używam Ubuntu 14.04LTS. Niedawno zaktualizowałem system operacyjny z Ubuntu 13.10. Jak pokonać ten błąd?
Dane wyjściowe dpkg -l|grep php
to:
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
?Odpowiedzi:
Wygląda na to, że zainstalowałeś PHP przez starter PPA:
https://launchpad.net/~ondrej/+archive/php5
Sprawdź swoją apt sources.list, czy ppa jest nadal aktywny. 14.04 powinieneś mieć te repozytoria aktywne:
Wyjaśnienie:
Wygląda na to, że masz już dodane dodatkowe repozytorium PHP-startera, ale zostało dezaktywowane podczas aktualizacji dist. Z tego powodu apt próbował zainstalować
php5-gd
ze standardowego repozytorium Debiana, ale ta wersja wymaga również standardowego php-common jako zależności (której nie masz). Ponowna aktywacja repozytorium starteraphp5-gd
została stamtąd zainstalowana, a wszystkie inne pakiety php powinny zostać zaktualizowane do wersji Ubuntu 14.04 („zaufane”) z ppa.źródło
/etc/apt/sources.list
i/etc/apt/sources.list.d/
dla tych wpisów i dodaj je jeśli neccessary.sudo apt-get update
przed ponowną próbą?Wiem, że minęło trochę czasu od oryginalnej odpowiedzi. Zainstalowałem to na Ubuntu Server 14.04 LTS, najpierw instalując,
sudo apt-get install php7.0-fpm
a następnie uruchamiającsudo apt-get install php7.0-gd
. Potwierdzono, że działa świetnie, szczególnie w przypadku generacji captcha, która jest moim przypadkiem użycia rozwiązania opartego wyłącznie na php. Nie ma powodu, aby nie aktualizować z wersji php5x w tym momencie, ponieważ 7x ma wiele zalet i brak wad w tym momencie w 2017 roku.źródło