TIP게시판

제목 php 7.0.1 업데이트 (centos6, yum)
글쓴이 변종원(웅파) 작성시각 2016/01/07 16:20:12
댓글 : 15 추천 : 0 스크랩 : 3 조회수 : 35836   RSS

서버환경은 CentOS6, Apache, PHP, MySQL이며 yum으로 관리하고 있습니다.

 

우선 yum update 후에 저장소를 추가해줍니다.

yum update

//epel
rpm -Uvh  http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  

//remi
rpm -Uvh  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm  

 

yum --enablerepo=remi list php7* 명령을 실행해보면 php70.x86_64(7.0.1)이 보입니다.

(글 쓰는 시점에서 확인해보니 그새 7.0.2가 나왔네요)

 

기존 php 패키지를 삭제합니다.

yum remove php*

 

필요패키지를 설치합니다.

yum --enablerepo=remi install php70 php70-php php70-php-cli php70-php-common php70-php-gd php70-php-json php70-php-mbstring php70-php-mcrypt php70-php-mysqlnd php70-php-opcache php70-php-pear php70-php-xml php70-php-devel php70-php-imagick

 

php버전을 확인해보고 실행파일이 php70으로 설치가 되서 심볼릭링크를 걸어줍니다.

scl enable php70 'php -v'
ln -s /usr/bin/php70 /usr/bin/php

 

아파치 재시작 해주면 php7 적용이 끝납니다.

service httpd restart

 

참고사항

 

php.ini의 위치 변경

/etc/php.ini -> /etc/opt/remi/php70/php.ini 

 

opcache 활성화

만약 opcache가 활성화  되지 않으면 /etc/opt/remi/php70/php.d/10-opcache.ini에 아래 내용을 확인하고 주석제거 후 아파치 재시작 해줍니다.

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1

 

opcache가 활성화 되면 콘솔에서 php -v 명령을 실행했을때 아래와 같이 나옵니다.

 

PHP 7.0.2 (cli) (built: Jan  6 2016 14:50:05) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

(저는 작업하면서 yum update를 해서 php 7.0.2 로 업데이트 됐습니다.)

 

기존 프로그램 테스트 해보면서 문제 생기는 부분 체크.

제 경우엔 php함수에서 문제가 된 것은 end함수밖에 없었습니다. notice가 나오는데 @를 붙여서 처리하거나

운영서버의 경우 에러메세지가 나오지않도록 처리합니다.

 

 다음글 제가 연구한 ajax json관련 소스인데 별로 안좋을... (6)
 이전글 php5.6과 7.0 실행시간 및 메모리 비교 (5)

댓글

변종원(웅파) / 2016/01/07 16:29:49 / 추천 0

친절하게 링크를 걸어주네요. ㅎㅎ

 

//epel

rpm -Uvh  http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

//remi

rpm -Uvh  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 

조현 / 2016/01/07 19:11:14 / 추천 0

ubuntu, nginx, php7.0-fpm upgrade 입니다.

http://bluebreeze.co.kr/939

변종원(웅파) / 2016/01/21 17:57:21 / 추천 0

php.ini에 timezone 설정해줘야 합니다.

새로 설치하는 것이다보니 타임존이 비어있는 상태라 rdate 로 시간을 맞춰도

서버에서 사용하는 시간이 제대로 나오지 않네요.

한대승(불의회상) / 2016/01/22 08:22:23 / 추천 0

php 7 로의 이전이 신속히 이루어 지고 있군요. ^^

우분투 버젼은 별도의 팁으로 빼도 좋을것 같습니다.

변종원(웅파) / 2016/01/23 13:33:39 / 추천 0

스크립트 간단 정리

 

yum update 

 

rpm -Uvh  http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

rpm -Uvh  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

 

yum remove -y php* 

 

yum --enablerepo=remi -y install php70 php70-php php70-php-cli php70-php-common php70-php-gd php70-php-json php70-php-mbstring php70-php-mcrypt php70-php-mysqlnd php70-php-opcache php70-php-pear php70-php-xml php70-php-devel php70-php-imagick 

 

scl enable php70 'php -v'

 

ln -s /usr/bin/php70 /usr/bin/php

 

vi /etc/opt/remi/php70/php.d/10-opcache.ini

 

service httpd restart

도라에몽 / 2016/02/16 22:01:14 / 추천 0

php-memcached 설치는... 

yum --enablerepo=remi install php70-php-memcached

^^;;

하늘치 / 2016/02/18 19:31:53 / 추천 0

오늘 centos7 에서 설치해보니  세 번째 단계에서 뭔가 잘 안되길래 아래처럼 했더니 설치는 됐습니다..

근데, 이렇게 하는 게 맞는 건지 모르겠네요.. ^^;;

설마, centos 버전이 6이 아닌 7이라 그런 건 아니겠지요?

 

1.

yum update 

2.

// rpm -Uvh  http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh  http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

3.

// rpm -Uvh  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

rpm -Uvh  http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

 

변종원(웅파) / 2016/02/18 21:56:47 / 추천 0
하늘치// 네. 맞습니다. centos7은 그렇게 하셔야합니다
신유선 / 2016/02/27 06:43:56 / 추천 0

아래처럼 에러가 나는데요 이건 어떻게 해야할까요...

Transaction Check Error:
  file /etc/httpd/conf.d/README from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/modules from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/run from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/conf.d/welcome.conf from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/conf/httpd.conf from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/conf/magic from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64
  file /etc/httpd/logs from install of httpd-2.2.15-47.el6.centos.3.x86_64 conflicts with file from package httpd24-httpd-2.4.6-5.el6.x86_64

Error Summary
-------------

 

신유선 / 2016/02/27 06:45:15 / 추천 0
아 php7 깔았다가 ... gd가 없어서 위에 쓰신데로 다 지우고 다시 설치 하다가 이래 되버렷네요..ㅠ
변종원(웅파) / 2016/02/27 08:20:30 / 추천 0
신유선/ 기존에 httpd24버전이 설치되어 있었나 보네요. gd만 추가 설치가 가능했는데.. 제가 올린 것은 httpd22기준입니다. 7용 24가 있는지 찾아보셔야할 것 같네요
변종원(웅파) / 2016/04/03 16:43:38 / 추천 0

ci 2점대 사용시 변경해야할 부분.

system/core/Common.php 257라인을 아래와 같이 변경

$_config[0] =& $config;

return $_config[0];

 

안녕하세요 / 2017/04/11 12:22:29 / 추천 0

안녕하세요. php 초보 입니다.

위 내용으로 php7 으로 깔았는데 restart 하면 php5 버전으로 연결이 되네요.

scl enable php70 'php -v'

으로 확인하면 php7 버전으로 확인 되는데요.

php -> /usr/bin/php70 으로 링크도 확인되고요.

혹시 어느 부분을 확인해야 하는지 알려주실수 있을까요?

 

 

변종원(웅파) / 2017/04/11 12:34:10 / 추천 0
안녕하세요/ 설치내용에 보면 이전 설치버전 삭제하도록 하고 있습니다. ^^
안녕하세요 / 2017/04/11 12:42:23 / 추천 0

변종원(웅파)/ 답변 주셔서 감사합니다.

yum remove php* 으로 삭제하고 진행했습니다;;