티스토리 뷰

우분투20.04 PHP설치(멀티)

1. 사전작업(이미 설치되어있을수도)

sudo apt install libapache2-mod-fcgid

sudo apt install software-properties-common

 

sudo add-apt-repository ppa:ondrej/php && sudo apt update (php5.6설치를 위해..그냥 하면 안됨)

(&& sudo apt update 생략가능)

 

2. php5.6설치
sudo apt install php5.6 php5.6-fpm

 

3. php7.4설치
sudo apt install php7.4 php7.4-fpm

 

4. 확인
ls /var/run/php/

-rw-r--r-- 1 root root 4 Feb 17 16:50 php5.6-fpm.pid 
srw-rw---- 1 www-data www-data 0 Feb 17 16:50 php5.6-fpm.sock 
-rw-r--r-- 1 root root 5 Feb 17 16:51 php7.2-fpm.pid 
srw-rw---- 1 www-data www-data 0 Feb 17 16:51 php7.4-fpm.sock

 

5. mysql extention

sudo apt install php5.6-mysql

sudo apt install php7.4-mysql

sudo apt install php5.6-curl

sudo apt install php7.4-curl

sudo apt install php5.6-mbstring

sudo apt install php7.4-mbstring

 

6. 아파치 설정
sudo a2enmod actions alias proxy_fcgi fcgi

sudo systemctl restart apache2

 

7. 기본php버전설정(설치된 버전 확인)
update-alternatives --config php

 

8. 가상호스트에 설정예제
php5.6
<VirtualHost *:80>
<FilesMatch "\.(php*|phtm|phtml|htm|html|inc|php3)$">
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch> 
</VirtualHost>

 

php7.4
<VirtualHost *:80>
<FilesMatch "\.(php*|phtm|phtml|htm|html|inc|php3)$">
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch> 
</VirtualHost>

 

9. short_open_tag = On

sudo service apache2 restart

sudo service php5.6-fpm restart

sudo service php7.4-fpm restart

이 옵션을 On으로 바꿔야 <? 만 적어도 php적용됨

 

10. sudo vi /etc/php/5.6/fpm/pool.d/www.conf

 위 파일에서 주석처리된

security.limit_extensions = .php .php3 .php4 .php5 부분에 주석 풀고 .html .htm 등 추가

7.4도 동일하게 처리하면될듯

(빈칸은 모두다 허용이고 확장자를 써넣을 경우 적혀있는 확장자만 허용을 할 수 있게 하는 옵션이다.)

sudo service php5.6-fpm restart

sudo service php7.4-fpm restart

이거 안하면 html파일 다운로드 됨..ㅠㅠ

 

11. 추가적인 php 설정은 각자 필요부분 찾아서..

 


위내용으로 다 하고나면 html파일에서 php인식이 안되네. 설정을 아무리 바꿔도...

이에 5.6버전으로 단독 설치(apache2.0 handler)

 

1. sudo add-apt-repository ppa:ondrej/php && sudo apt update

 

2. sudo apt install php5.6 libapache2-mod-php5.6 php5.6-mysql php-common php5.6-cli php5.6-common php5.6-json php5.6-opcache php5.6-readline php5.6-curl  추가할거 있으면 더 하고

 

3. sudo a2enmod php5.6

sudo systemctl restart apache2

 

4. 이후

sudo vi /etc/apache2/apache2.conf 열어서 젤 밑에

AddType application/x-httpd-php .html .htm  추가.

short_open_tag = On 수정

 

마무리.

 

 

 

 

참고

www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-ubuntu-20-04

댓글
댓글쓰기 폼