Virtualmin 6 및 Debian 9에 여러 PHP 버전을 설치하는 방법

Virtualmin 6 및 Debian 9에 여러 PHP 버전을 설치하는 방법

Debian 9는 기본적으로 PHP 7과 함께 제공되지만 저는 이전 사이트용 PHP 5에도 관심이 있습니다.

나는 따라가거나 적응하려고 노력한다이 가이드(virtualmin에 국한되지 않음)

그러나 이것은 내가 얻는 오류입니다(Virtualmin이 잘못된 PHP 바이너리를 감지했기 때문에):

[Tue Jan 22 15:08:58.713966 2019] [fcgid:warn] [pid 1023] (104)Connection reset by peer: [client MYIP:62256] mod_fcgid: error reading data from FastCGI server
[Tue Jan 22 15:08:58.714041 2019] [core:error] [pid 1023] [client MYIP:62256] End of script output before headers: test.php

답변1

따라서 먼저 PHP 5.6용 저장소를 추가해야 합니다. "여기 Debian PHP 패키지 관리자인 Ondřej Surý가 직접 제공한 패키지가 있습니다."

$ apt-get install apt-transport-https
$ curl https://packages.sury.org/php/apt.gpg | apt-key add -
$ echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
$ apt-get update

이제 핵심은 올바른 PHP 패키지를 설치하는 것입니다. virtualmin이 기본 FCGId 모드에서 실행되는 경우 다음과 같습니다.

$ apt-get install php5.6-cgi

나는 또한 mysql/i, gd 및 xml 지원을 원합니다.

 $ apt-get install php5.6-mysql php5.6-gd php5.6-xml

또한 일부 종속성을 설치합니다.

마침내:

service apache2 restart

이제 시스템 설정 -> 구성 재확인을 실행하고 다음과 같은 줄을 찾을 수 있습니다.

The following PHP versions are available : 5.6.40 (/usr/bin/php-cgi5.6), 7.0.33 (/usr/bin/php-cgi7.0)

두 저장소가 모두 -cgi 변형인지 확인하세요. 그래서 그렇게 했습니다. -cgi 비트가 없는 php5.6 재고를 감지했기 때문입니다.

이제 서버 구성 -> PHP 버전으로 이동하여 우리가 설치한 새(이전) 버전을 선택할 수 있습니다.

이제 서비스에 새 5.6 php.ini를 구성하기 위한 새 옵션이 있는지 확인하십시오. 그렇지 않은 경우(예: 기존 서버인 경우) 서버 구성 -> 웹 사이트 옵션으로 이동하여 FCGId를 FCGId에서 CGI 래퍼로 변경하고 반환해야 합니다. FCGId를 다시 입력하면 새 섹션에 php.ini가 생성됩니다.

이제 마지막으로 "일반 데비안" PHP 패키지가

#deb https://packages.sury.org/php/ stretch main

관련 정보