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.
우분투 14.04LTS를 사용하고 있습니다. 최근에 우분투 13.10에서 OS를 업그레이드했습니다. 이 오류를 극복하는 방법?
출력 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
답변
런치 패드 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- 런치 패드 리포지토리가 추가 된 것 같지만 dist-upgrade 중에 비활성화되었습니다. 이 때문에 apt php5-gd
는 표준 데비안 저장소에서 설치하려고 시도 했지만이 버전에는 종속성이없는 표준 php-common이 필요합니다. 런치 패드 저장소를 다시 활성화하여 php5-gd
거기에서 설치되었으며 다른 모든 PHP 패키지가 ppa에서 Ubuntu 14.04 ( “trusty”) 버전으로 업그레이드 되었어야합니다.
답변
나는 그것이 원래의 대답을위한 시간이라는 것을 알고있다. 먼저 Ubuntu Server 14.04 LTS에 설치 sudo apt-get install php7.0-fpm
하고 실행 하여 설치했습니다 sudo apt-get install php7.0-gd
. 모든 PHP 솔루션의 유스 케이스 인 보안 문자 생성에 특히 효과적이라는 것을 확인했습니다. 2017 년에이 시점에서 7x는 많은 이점과 단점이 없기 때문에이 시점에서 php5x에서 업그레이드하지 않을 이유는 없습니다.