본문으로 이동

개인적인 사정으로 큰숲백과 관리를 무기한 중단합니다. 데이터베이스 덤프 관련 공지도 조만간 올리겠습니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 큰숲백과 단축도메인 bigforest.wiki 열렸습니다.

작은숲:위키노트/PHP 7.0 컴파일 설치: 두 판 사이의 차이

잔글
문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로
잔글 (문자열 찾아 바꾸기 - "분류:공유" 문자열을 "분류:위키노트/공유" 문자열로)
잔글 (문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로)
2번째 줄: 2번째 줄:
== 내려받기 ==
== 내려받기 ==
[http://php.net/downloads.php PHP 내려받기] 페이지에 가서 적당한 압축 파일을 내려받는다. [[위키노트:리눅스|리눅스]] 서버에서는 <tt>tar.gz</tt>으로 압축된 파일을 받으면 되고, 한국의 미러 사이트에 있는 PHP 7.0.4 배포 파일의 URL은 <tt>http://kr1.php.net/distributions/php-7.0.4.tar.gz</tt> 이다.
[http://php.net/downloads.php PHP 내려받기] 페이지에 가서 적당한 압축 파일을 내려받는다. [[위키노트:리눅스|리눅스]] 서버에서는 <tt>tar.gz</tt>으로 압축된 파일을 받으면 되고, 한국의 미러 사이트에 있는 PHP 7.0.4 배포 파일의 URL은 <tt>http://kr1.php.net/distributions/php-7.0.4.tar.gz</tt> 이다.
<source lang="console">
<syntaxhighlight lang="console">
# cd /usr/local/src
# cd /usr/local/src
# wget http://kr1.php.net/distributions/php-7.0.4.tar.gz
# wget http://kr1.php.net/distributions/php-7.0.4.tar.gz
43번째 줄: 43번째 줄:
이미 PHP 5.3 버전이 설치되어 있고 [[위키노트:아파치|아파치]]와 연동되어 웹 서비스에 사용되고 있다. [[위키노트:PHP 7.0|PHP 7.0]]이 이전 버전에 비해 상당히 뛰어난 성능을 보여주지만 기존 서비스들에는 곧바로 적용할 수는 없다. 특히 PHP 7.0에서는 기존 비표준
이미 PHP 5.3 버전이 설치되어 있고 [[위키노트:아파치|아파치]]와 연동되어 웹 서비스에 사용되고 있다. [[위키노트:PHP 7.0|PHP 7.0]]이 이전 버전에 비해 상당히 뛰어난 성능을 보여주지만 기존 서비스들에는 곧바로 적용할 수는 없다. 특히 PHP 7.0에서는 기존 비표준
  방식의 <tt>mysql</tt> 확장 기능이 제거되어 비표준 [[위키노트:MySQL|MySQL]]을 사용하는 기존 서비스들은 소스 코드를 수정하지 않으면 PHP 7.0으로 이전할 수 없다. 그래서 PHP 7.0은 당분간 [[FastCGI]]로 운용하기로 하고 [[위키노트:PHP-FPM]]으로 설치한다. 여기에 연동되는 웹 서버는 아파치가 아닌 [[위키노트:Nginx|Nginx]]를 쓴다. 서버 내에 두 개의 PHP 버전이 존재하므로 PHP 7.0의 설치 위치는 <code>/usr/local/php</code>가 아닌 <code>/usr/local/php70</code>으로 지정한다. 표준 방식은 PHP 5.x부터 PDO로 권고하고 있다.
  방식의 <tt>mysql</tt> 확장 기능이 제거되어 비표준 [[위키노트:MySQL|MySQL]]을 사용하는 기존 서비스들은 소스 코드를 수정하지 않으면 PHP 7.0으로 이전할 수 없다. 그래서 PHP 7.0은 당분간 [[FastCGI]]로 운용하기로 하고 [[위키노트:PHP-FPM]]으로 설치한다. 여기에 연동되는 웹 서버는 아파치가 아닌 [[위키노트:Nginx|Nginx]]를 쓴다. 서버 내에 두 개의 PHP 버전이 존재하므로 PHP 7.0의 설치 위치는 <code>/usr/local/php</code>가 아닌 <code>/usr/local/php70</code>으로 지정한다. 표준 방식은 PHP 5.x부터 PDO로 권고하고 있다.
<source lang="console">
<syntaxhighlight lang="console">
# ./configure --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-sigchild \
# ./configure --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-sigchild \
--prefix=/usr/local/php70 --with-config-file-path=/usr/local/php70/etc \
--prefix=/usr/local/php70 --with-config-file-path=/usr/local/php70/etc \
77번째 줄: 77번째 줄:


== 컴파일과 설치 ==
== 컴파일과 설치 ==
<source lang="console">
<syntaxhighlight lang="console">
# make
# make
...
...
103번째 줄: 103번째 줄:
</source>
</source>
<code>make</code>와 <code>make test</code>를 하는데 시간이 어느 정도 걸린다. 테스트까지 끝나면 이제 설치할 준비가 끝났다. 설치는 간단하다. 설정할 때 지정했던 디렉토리, 즉 여기에서는 <code>./configure ... --prefix=/usr/local/php70 ...</code>라고 했으니 <code>/usr/local/php70</code> 디렉토리 아래에 필요한 파일들을 만들어준다.
<code>make</code>와 <code>make test</code>를 하는데 시간이 어느 정도 걸린다. 테스트까지 끝나면 이제 설치할 준비가 끝났다. 설치는 간단하다. 설정할 때 지정했던 디렉토리, 즉 여기에서는 <code>./configure ... --prefix=/usr/local/php70 ...</code>라고 했으니 <code>/usr/local/php70</code> 디렉토리 아래에 필요한 파일들을 만들어준다.
<source lang="console">
<syntaxhighlight lang="console">
# make install
# make install
Installing shared extensions:    /usr/local/php70/lib/php/extensions/no-debug-non-zts-20151012/
Installing shared extensions:    /usr/local/php70/lib/php/extensions/no-debug-non-zts-20151012/
137번째 줄: 137번째 줄:
</source>
</source>
실행 파일을 경로가 잡혀있는 <code>/usr/bin</code> 디렉토리에 [[심볼릭 링크]]를 만들어준다.
실행 파일을 경로가 잡혀있는 <code>/usr/bin</code> 디렉토리에 [[심볼릭 링크]]를 만들어준다.
<source lang="console">
<syntaxhighlight lang="console">
# ln -s /usr/local/php70/bin/php /usr/bin/php7
# ln -s /usr/local/php70/bin/php /usr/bin/php7
# php7 -v
# php7 -v
147번째 줄: 147번째 줄:
== 설정 파일 생성 ==
== 설정 파일 생성 ==
기존에 쓰던 이전 버전의 <code>php.ini</code>를 복사해서 써도 되고, 아니면 새 버전의 예제 파일을 복사해서 설정해도 된다.
기존에 쓰던 이전 버전의 <code>php.ini</code>를 복사해서 써도 되고, 아니면 새 버전의 예제 파일을 복사해서 설정해도 된다.
<source lang="console">
<syntaxhighlight lang="console">
# cp php.ini-production /usr/local/php70/etc/php.ini
# cp php.ini-production /usr/local/php70/etc/php.ini
</source>
</source>
[[위키노트:PHP-FPM]]으로 쓸 경우 PHP-FPM의 설정 파일도 만들어 준다.
[[위키노트:PHP-FPM]]으로 쓸 경우 PHP-FPM의 설정 파일도 만들어 준다.
<source lang="console">
<syntaxhighlight lang="console">
# cp /usr/local/php70/etc/php-fpm.conf.default /usr/local/php70/etc/php-fpm.conf
# cp /usr/local/php70/etc/php-fpm.conf.default /usr/local/php70/etc/php-fpm.conf
</source>
</source>