Back to writing
미분류 3 min read HYEONG HWAN, MUN

Ubuntu 서버에서 PHP7 설치 적용하기

이 문서는 Ubuntu 16.04 LTS 가 출시됨에 따라 폐기되었습니다. PHP 7.0 을 설치하시려면 운영체제 Ubuntu 16.04 LTS 를 사용해주세요. 다음으로 이동 : https://blog.lael.be/post/73

 

imageC

이 글은 한번에 끝내는 Ubuntu 웹서버세팅 (우분투 서버세팅) 9번 항목의

PHP 5.5.9 설치 대신에 PHP 7.0 을 설치하는 방법을 설명합니다.

 

PHP7 공식 위키 참조 (https://wiki.php.net/todo/php70#timetable)

 

PHP7 은 2015년 6월 11일에 최초 개발 버전이 공개되었으며

최종 공식 정식버전 발표일은 2015년 12월 3일 입니다.

 

현재 PHP 언어로 개발된 자체 솔루션을 운영중이라면 업그레이드를 하지 마시기 바랍니다.

속도는 빨라지는데... 구동되지 않을 것입니다. (하얀 공백 화면을 보게 될 것입니다.)

 

현재 WordPress, Drupal, XpressEngine, 그누보드(영카트) 가 PHP7 환경에서 동작하는 것을 확인하였습니다.

다만 일부 WordPress 플러그인, Drupal 플러그인, XpressEngine 모듈, 그누보드 플러그인(빌더등) 가 PHP7 환경에서 동작하지 않는 것을 확인했으며 결과적으로 이 플러그인/모듈/빌더 를 사용하는 사이트는 PHP7 환경에서 동작하지 않을 것입니다.

 

잘 유지보수 되고 있는 웹소프트웨어가 아니라면 PHP7 환경 도입을 다시 생각해 보시기 바랍니다.

현재 PHP5 를 이미 설치하셨다면 (PHP7 을 설치하기 위해서) 다음 명령어를 통해 기존 버전을 삭제해주세요.

# a2dismod php5
# apt-get purge php5
# service apache2 stop

 

 

1. APT 소스리스트에 PHP7 패키지 추가.

PHP7 패키지는 현재 개발이 진행중이며, 당연히 Ubuntu 14.04 공식 패키지 목록에 존재하지 않습니다.

Zend Technologies 에서 Ubuntu 14.04 사용자를 위해서 패키지를 만들었고 공개하였습니다.

 

패키지 소스리스트에 Zend 저장소 추가. (코드를 더블클릭하면 전체선택됨)

[code language="bash"]

echo "deb http://repos.zend.com/zend-server/early-access/php7/repos ubuntu/" >> /etc/apt/sources.list

[/code]

 

/etc/apt/sources.list 파일의 맨 마지막 줄에 위의 파란색 부분의 문자를 추가하는 명령어 입니다.

추후에 소스리스트를 원상복구하고 싶다면 /etc/apt/sources.list 파일을 열어서 추가한 부분을 삭제해주면 됩니다.

 

2. 소스패키지 목록을 업데이트

# apt-get update

패키지 목록을 새로고침 해 주어야 합니다.

 

3. PHP 7 최신버전 설치

# apt-get install php7-nightly

스크린샷 2015-10-22 오전 12.54.19

PHP7 Nightly 빌드를 설치한다.

Daily : 날마다

Monthly : 매월마다

Nightly : 밤마다

 

즉 밤마다 최신버전으로 업데이트 되는 패키지이다.

대부분의 범용 PHP 확장모듈도 같이 설치된다. (curl, gd, mcrypt, zip, fileinfo, mbstring, mysqli, PDO)

 

4. PHP7 을 Apache2 에 등록

1) 파일이 제대로 설치되었는지 확인

# ll /usr/local/php7/libphp7.so

 

2) 설치된 php7 모듈을 아파치 모듈 폴더에 복사

# ln -s /usr/local/php7/libphp7.so /usr/lib/apache2/modules/

 

3) php7 모듈 로딩 구문을 아파치 모듈 설정 폴더에 복사

# cp /usr/local/php7/php7.load /etc/apache2/mods-available/

 

4) php 확장자와 php7 을 연결

#vi /etc/apache2/mods-available/php7.conf

 

php7.conf 파일에 들어갈 내용.

[code language="bash"]

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

[/code]

 

5) 환경설정이 끝났으므로 다음 명령어를 통해 php7 모듈 켜기

# a2dismod mpm_event
# a2enmod mpm_prefork
# a2enmod php7

 

6) 아파치 재시작

# service apache2 restart

 

7) PHP 콘솔 프로그램 설정

Drupal 의 drush, Laravel 의 artisan, 기타 cron 프로그램 등을 사용하기 위해서는 php 콘솔 환경을 만들어 주어야 한다.

# ln -s /usr/local/php7/bin/php /usr/local/bin/
# php -v

스크린샷 2015-12-16 오후 9.01.24

 

5. PHP7 환경설정

PHP가 실행될 때 로드하는 환경설정 파일은 다음과 같다.

# 15.12.16 추가. 초기 기본 파일이 없어진 것 같습니다. (적어도 7.0.2 에는 기본샘플파일이 없네요)

# vi /usr/local/php7/etc/php.ini

 

 

Filed under