이전 문서 Apache와 PHP 연동하기에 자세한 내용이 적혀 있지만, Apache 2.4.38로 업데이트한 이후에 PHP와의 연동 이슈가 발생하여 해결 방법을 제시함
http2 기능이 필요하지 않다면 이전 문서를 참고하여 더 쉽게 설치 가능함
- Apache 2.4.38 이상에서는 http2 모듈을 사용하려면 mpm_prefork를 지원하지 않음
- mpm_prefork 대신에 mpm_event를 설치하는 게 바람직함
- mpm_event를 설치하려면 php도 thread-safe한 버전이 필요함
- php는 소스코드에서 빌드하지 않는 이상 thread-safe한 버전이 공식 패키지로 제공되지 않음
추가적인 apt repository를 설정하여 php7.0-zts 버전을 설치해야 함
sudo add-apt-repository ppa:ondrej/php-zts
sudo apt install php7.0-zts php7.0-zts-xml php7.0-zts-dev php7.0-zts-fpm php7.0-zts-mysq
/etc/php/php7.0-zts 하위의 설정 파일을 수정할 것
자세한 내용은 이전 문서 Apache와 PHP 연동하기를 참고할 것
php-fpm을 실행
systemctl start php7.0-zts-fpm
또는
/etc/init.d/php7.0-zts-fpm start
또는
/usr/sbin/php-fpm7.0-zts
Apache 설정도 변경이 필요함
# mpm_event 설정 적용
cd /etc/apache2/mods-enabled
sudo rm mpm_prefork.conf mpm_prefork.load
sudo ln -sf ../mods-available/mpm_event.conf .
sudo ln -sf ../mods-availabel/mpm_event.load .
# php7.0-zts-fpm 설정 적용
cd /etc/apache2/conf-enabled
sudo ln -sf ../conf-available/php7.0-zts-fpm.conf .
Apache 재시작
sudo systemctl start apache2
또는
sudo /etc/init.d/apache2 start
또는
sudo /usr/sbin/apachectl start