>  기사  >  백엔드 개발  >  우분투 다중 버전 PHP 전환

우분투 다중 버전 PHP 전환

藏色散人
藏色散人앞으로
2019-11-16 13:45:442288검색

최근 swoole을 배우고 싶습니다. php7.0으로 설치되어 있지만 swoole와 관련된 일부 휠이 상위 버전(예: swooletw)에 의존한다는 점을 고려하여 다음과 같이 php7.2로 업그레이드했습니다. 제가 온라인에서 검색하거나 직접 작성한 메모입니다.

버전 업그레이드 작업(7.0에서 7.2로 직접 업그레이드):

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade php
# 拓展升级
sudo apt-get install php7.2-mbstring
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-dom
sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-curl
......

필요한 경우 swoole을 설치할 수 있습니다.

https://wiki.swoole.com/wiki/page/6.html
#🎜 🎜# 원스텝 프로세스인 pecl install swoole로 직접 설치하는 것을 권장하는데, 수동으로 컴파일할 경우 호환되지 않는 버전으로 인해 여러 가지 문제가 발생할 것으로 보입니다.

스위치 버전:

# 禁用7.0版本
sudo a2dismod php7.0
# 启用7.2版本
sudo a2enmod php7.2
# 重启nginx(或apache)
sudo service nginx restart

오류: php7.0 모듈이 없으면 sudo apt-get install libapache2-mod를 실행하세요. -php7.0 그리고 위의 작업을 수행합니다

이때 브라우저에서 phpinfo()를 확인하면 버전 7.2를 볼 수 있지만 명령줄 cli는 아직 7.0이므로 다음 작업을 수행해야 합니다: #🎜🎜 #
# 切换cli
sudo update-alternatives --set php /usr/bin/php7.2

이 방법으로 명령줄에서 php -v를 실행하여 버전 7.2도 볼 수 있습니다

두 가지 버전이 있는 경우 실제로 sudo 서비스 php7.0-fpm 중지/다시 시작을 직접 사용할 수 있습니다. 물론 이것은 php-fpm만 전환할 수 있습니다. 즉, 웹 측, 명령줄 cli 측은 여전히 ​​전환할 수 없습니다

Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE):
#🎜 🎜#업그레이드하고 php7.1도 버렸는데 다음날 돌아와서 컴퓨터를 켜보니 모든 라라벨 프로젝트에서 이런 오류가 발생한다고 인터넷에서 검색해보니 버전이더군요. 문제인데 php -v를 확인해 보니 7.2였습니다. 이때 php를 다시 시작하려고 했더니 다음과 같은 오류가 보고되었습니다. # 🎜🎜#
ERROR: unable to bind listening socket for address '127.0.0.1:9001': Address already in use (98)

대충 포트가 점유되어 있고 PHP fastCGI 프로그램이 시작되지 않습니다.

Solution:

ps aux| fpm 프로세스를 실행하고 php7.1-fpm 프로세스가 있는지 확인하고 프로세스 ID를 가져와서 다시 시작하세요. 온라인 쿼리에 대한 해결책은 killall php-pfm 명령입니다. 실행 후에는 php-pfm: No Operation Found 만 표시됩니다. 이 방법은 마지막으로 위의 쿼리 프로세스를 사용합니다. 프로세스에 따라 ID별로 프로세스를 종료하는 방법

위 내용은 우분투 다중 버전 PHP 전환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제