Ubuntu 14.04: ppa:ondrej를 사용하여 PHP를 5.6으로 업그레이드하는 데 문제가 있습니다.

Ubuntu 14.04: ppa:ondrej를 사용하여 PHP를 5.6으로 업그레이드하는 데 문제가 있습니다.

나는 다음을 수행했습니다.

sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5.6
sudo add-apt-repository ppa:ondrej/apache2

다음을 사용하여 이전 버전의 php5를 비활성화하려고 하면:

sudo phpdismod php5

오류가 발생합니다: 경고: 모듈 php5 ini 파일이 /etc/php/5.6/mods-available 아래에 존재하지 않습니다.

이 디렉터리 아래로 ini 파일을 이동해도 동일한 오류가 발생합니다. 내가 뭘 놓치고 있는지 모르겠어요??

일반적으로 내 인스턴스에 새로 설치된 버전을 사용하도록 인스턴스를 얻는 방법을 누군가 설명해 줄 수 있습니까? 여전히 내 인스턴스에 두 개의 PHP 디렉토리 트리가 모두 있는 것 같습니다. php5/.. 및 php/5.6

답변1

서로 다른 PPA와 버전 및 명령을 호환되지 않는 방식으로 혼합하고 있습니다. 분석해 보겠습니다.

  1. libapache2-mod-php5.6에 존재하며 ppa:ondrej/php이것이 실제로 사용하려는 PPA입니다.

  2. phpdismodApache2 모듈을 관리하지 않고 PHP 확장을 비활성화하는 명령입니다 a2dismod.

  3. PHP Apache2 모듈의 ppa:ondrej/php5-5.6이름은 다음과 같습니다.libapache2-mod-php5

따라서 올바른 내용은 다음과 같습니다.

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
sudo apt-get install libapache2-mod-php5.6

먼저 패키지를 제거하지 않으면 모듈을 비활성화하고 모듈을 활성화 php5-*해야 합니다 .php5php5.6

sudo a2dismod php5
sudo a2enmod php5.6

선택적으로 Apache2 저장소를 추가합니다.

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade

거기에마이그레이션 가이드PPA 패키지에 사용할 수 있습니다.

관련 정보