Ubuntu 16.04에 PHP 5.6 및 PHP 7.1을 설치했습니다.
Apache를 내 웹 서버로 사용하면 할 수 있습니다.
a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7
Apache 모듈에서 php7.1을 비활성화하고 php 5.6을 활성화하면 Apache가 변경 사항을 인식하고 예상대로 php 5.6 인터프리터를 사용합니다.
하지만 명령 줄에서 내부 PHP 웹 서버를 실행할 때 :
php -S localhost:8888
php는 php 7을 사용하여 요청을 처리합니다. 그러면 명령 줄에서 php 5.6과 php 7.1 사이를 어떻게 전환합니까?
답변
대화 형 전환 모드
sudo update-alternatives --config php
수동 전환
PHP 5.6부터 => PHP 7.1
기본 PHP 5.6이 시스템에 설정되어 있으며 PHP 7.1로 전환해야합니다.
Apache :
$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart
명령 줄 :
$ sudo update-alternatives --set php /usr/bin/php7.1
PHP 7.1부터 => PHP 5.6
기본 PHP 7.1이 시스템에 설정되어 있으며 PHP 5.6으로 전환해야합니다.
Apache :
$ sudo a2dismod php7.1
$ sudo a2enmod php5.6
$ sudo service apache2 restart
명령 줄 :
$ sudo update-alternatives --set php /usr/bin/php5.6
답변
명령 줄에 이것을 입력하면 16.04, 18.04 및 20.04 사이의 모든 우분투에서 작동합니다.
$ sudo update-alternatives --config php
그리고 이것은 당신이 얻을 것입니다
There are 4 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php7.2 72 auto mode
1 /usr/bin/php5.6 56 manual mode
2 /usr/bin/php7.0 70 manual mode
3 /usr/bin/php7.1 71 manual mode
4 /usr/bin/php7.2 72 manual mode
Press <enter> to keep the current choice[*], or type selection number:
적절한 버전 선택
답변
이거 먹어 봐야 할 것 같아
php5.6에서 php7.1로
sudo a2dismod php5.6
sudo a2enmod php7.1
sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php7.1
sudo update-alternatives --set phar /usr/bin/phar7.1
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.1
php7.1에서 php5.6으로
sudo a2dismod php7.1
sudo a2enmod php5.6
sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php5.6
sudo update-alternatives --set phar /usr/bin/phar5.6
sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6
답변
나는 실제로 a2enmod
php 5 또는 7에 사용 하는 것을 권장하지 않습니다 update-alternatives
. sudo update-alternatives --config php
사용하려는 PHP의 시스템 전체 버전을 설정할 수 있습니다 . 이렇게하면 명령 줄과 아파치 버전이 동일하게 작동합니다. 자세한 내용 update-alternatives
은 man 페이지 에서 읽을 수 있습니다 .
답변
사용 가능한 모든 버전을 나열하고 선택하려면 다음을 수행하십시오.
sudo update-alternatives --config php
또는 수동으로 수행
sudo a2dismod php7.1 // disable
sudo a2enmod php5.6 // enable
답변
버전에서 전환 할 스크립트를 생성 한 sudo nano switch_php
다음 다음을 입력하십시오.
#!/bin/sh
#!/bin/bash
echo "Switching to PHP$1..."
case $1 in
"7")
sudo a2dismod php5.6
sudo a2enmod php7.0
sudo service apache2 restart
sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php;;
"5.6")
sudo a2dismod php7.0
sudo a2enmod php5.6
sudo service apache2 restart
sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php;;
esac
echo "Current version: $( php -v | head -n 1 | cut -c-7 )"
종료하고 저장하여 실행 가능하게 만듭니다. sudo chmod +x switch_php
스크립트를 실행하려면 다음을 입력하십시오. ./switch_php [VERSION_NUMBER]
매개 변수가 7 또는 5.6 인 곳에 .
이제 PHP7에서 PHP 5.6으로 쉽게 전환 할 수 있습니다!
답변
아래 명령 줄을 사용하여 두 PHP 버전간에 전환 할 수 있습니다.
예
나는 전환 할 PHP Version
에서 7.1
에 7.2
우리가 명령 아래에 사용할 수 있습니다
sudo a2dismod php7.1 && sudo update-alternatives --set php /usr/bin/php7.2 && sudo a2enmod php7.2 && sudo service apache2 restart
a2dismod
현재 PHP 버전을 비활성화하는 a2enmod
데 사용되며 버전을 활성화하는 데 사용됩니다.