나는 오늘 일반적인 서버 패키지 업그레이드를 거쳤 ppa:ondrej/php5-5.6
으며 그 가치가 감가 상각되었고로 업그레이드해야 한다는 것을 발견했다 ppa:ondrej/php
.
제공되는 기본 지침은 다음과 같습니다.
sudo add-apt-repository ppa:ondrej/php
그리고:
sudo apt-get update
sudo apt-get upgrade --show-upgraded
새로운 저장소를 보면 이름이 완전히 정렬되지 않은 것 같아서 올바른 패키지를 모두 설치하려면 apt-get 설치를 수행해야한다고 생각합니다. 또한 하위 패키지 (예 : php-gd)는 모든 PHP 버전에 설치되며 php 5.5 및 php 7.0 ( /programming/37197539/an-issue-after-ppaondrej- php5-deprecation )
그래서 제 질문은 ppas를 “전환”하고 이것이 프로덕션 서버라는 것을 고려하여 기존 패키지를 정리하는 가장 깨끗한 방법은 무엇입니까? 이전 PPA에서 설치된 모든 패키지를 제거하거나 시스템에서 PPA를 제거해야합니까?
아직 PPA의 메인 페이지에는 없지만 업그레이드 메시지는 2016 년 6 월에 더 이상 사용되지 않으므로 서버 이미지를 재구성하는 데 시간이 오래 걸리지 않습니다.
이 페이지에서 아파치가 사용하는 PHP 버전을 전환하는 지침을 제공합니다 : https://dzone.com/articles/php-70-and-56-on-ubuntu
답변
이전 php5-*
패키지는 새 phpX.Y-*
체계 와 함께 설치할 수 있으므로 가장 먼저해야 할 일은 새 패키지를 설치하고 활성화하는 것입니다.
아파치 2.4
새 libapache2-mod-phpX.Y
패키지 를 설치 한 다음 이전 php5를 비활성화하고 PHP 5.6의 경우 fe의 새 버전 모듈을 활성화해야합니다.
sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6
PHP-FPM이 포함 된 NGINX / Apache 2.4
이것은 훨씬 간단 phpX.Y-fpm
합니다. 웹 서버 구성에서 소켓 경로를 설치 하고 변경하여 /run/php/phpX.Y-fpm.sock
PHP 5.6의 경우 이전 구성을 복사하십시오.
sudo apt-get install php5.6-fpm
# now change the socket path in your nginx/apache2 configuration
# and restart the server
더 많은 FPM 풀을 정의한 경우 PHP 5.6의 경우 이전 구성을 새 경로로 다시 복사해야합니다.
# keep the new www.conf
sudo mv /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/www-5.6.conf
# copy the old configuration to the new path
sudo cp /etc/php5/fpm/pool.d/* /etc/php/5.6/fpm/pool.d/
sudo update-rc.d php5-fpm disable # or uninstall php5-fpm package
# restart PHP 5.6 FPM to read the new configuration
sudo service php5.6-fpm restart
당신이 이전 패키지를 제거하려면 오래된 PHP5 * 이름을 필요로 패키지가있을 수 있습니다로 이제 당신은 몇 가지 문제가 실행될 수 있습니다 추가 할 수있는 ppa:ondrej/php5-compat
호환성 패키지의 얇은 층을 제공하는 그지도 php5-<foo>
에 php5.6-<foo>
주요 PHP5 * 패키지 :
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade
비 프로덕션 환경 에서이를 먼저 시도하십시오 ! 좋은 점은 이전 구성을 /etc/php5
그대로 유지하므로 이전 설정을 마이그레이션 할 수 있다는 것입니다.
기본 PHP 패키지를 업데이트 한 후 나머지 php5-*
패키지 를 찾아서 해당 패키지를 설치하는 것이 좋습니다.
apt-get install php-apcu # for php5-apcu
apt-get install php-memcached # for php5-memcached
이 매핑을 자동으로 수행하는 php5-compat repo에 대한 업데이트를 준비하겠습니다.
최신 텍스트는 항상 DEB.SURY.ORG PPA 위키 에서 찾을 수 있습니다 .