
나는 다음을 수행했습니다.
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와 버전 및 명령을 호환되지 않는 방식으로 혼합하고 있습니다. 분석해 보겠습니다.
libapache2-mod-php5.6
에 존재하며ppa:ondrej/php
이것이 실제로 사용하려는 PPA입니다.phpdismod
Apache2 모듈을 관리하지 않고 PHP 확장을 비활성화하는 명령입니다a2dismod
.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-*
해야 합니다 .php5
php5.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 패키지에 사용할 수 있습니다.