작은숲:위키노트/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> 이다. | ||
< | <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로 권고하고 있다. | ||
< | <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번째 줄: | ||
== 컴파일과 설치 == | == 컴파일과 설치 == | ||
< | <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> 디렉토리 아래에 필요한 파일들을 만들어준다. | ||
< | <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> 디렉토리에 [[심볼릭 링크]]를 만들어준다. | ||
< | <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>를 복사해서 써도 되고, 아니면 새 버전의 예제 파일을 복사해서 설정해도 된다. | ||
< | <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의 설정 파일도 만들어 준다. | ||
< | <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> | ||