우분투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 수정
마무리.
참고