Refresh
  • Home
  • /
  • Tech
  • /
  • Server
  • /
  • PHP 5.3 에서 5.5 업데이트 및 static 오류 해결 부분

PHP 5.3 에서 5.5 업데이트 및 static 오류 해결 부분

좀 해묵은 버전이 될 수도 있겠습니다.
그래도 삽질했던 내용을 기록해 보겠습니다.

서버호스팅을 사용하면서 PHP 설치 버전이 5.3 이었습니다.
워드프레스만 사용하고 있었기 때문에 전혀 문제가 되지 않았는데 다른 서비스가 올라왔습니다.
그런데 에러가 빡! mcrypt 가 없어서 오류가 났는데요. mcrypt 를 사용하려면 PHP 버전을 5.5 이상으로 올려야 했습니다.

그냥 지우고 다시 설치할까 하다가 그것보다는 업데이트를 하는게 나을 것 같아 구글링을 했죵!
결국 remi 를 써서 업그레이드를 하기로 마음을 먹었습니다.

  1. rpm -qa | grep php 로 설치되어 있는 php 관련 패키지를 확인합니다.
  2. rpm -Uvh http://mirror.premi.st/epel/6/i386/epel-release-6-8.noarch.rpm
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    위 두개의 패키지를 적용합니다.
  3. 저렇게 하면 /etc/yum.repo.d/ 에 remi.repo 파일이 생성 됩니다. (이외에도 몇가지가 더 생겨요)
  4. remi.repo 파일을 열고 아래 내용을 찾아 enabled=1 로 수정합니다. ( 0으로 되어 있습니다.)

    [remi]

    name=Les RPM de remi pour Enterprise Linux 6 – $basearch

    #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/

    mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror

    enabled=1

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

    [remi-php55]

    name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 6 – $basearch

    #baseurl=http://rpms.famillecollet.com/enterprise/6/php55/$basearch/

    mirrorlist=http://rpms.famillecollet.com/enterprise/6/php55/mirror

    # WARNING: If you enable this repository, you must also enable “remi”

    enabled=1

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

  5. 저장하시고 다음 명령어를 빡!!!!
  6. yum –enablerepo=remi,remi-php55 update php php-mysql php-ldap php-pdo php-xmlrpc php-common php-cli php-gd php-mbstring php-xml
    (update 다음에 나열된 것들은 설치된 php 패키지들입니다.)

저렇게 하고나서 패키지를 확인하면 5.5 로 업데이트가 되어 있는 걸 확인할 수 있습니다.
yum list php* 에서도 기본 설치 패키지가 5.5 로 변경이 되어 있는 것을 확인할 수 있습니다.
저렇게 하고 php-mcrypt 를 설치했는데 사이트에서 에러가 나네요. 헛헛헛

해당 에러는 php-mcrypt 때문이 아니고 5.1 에서 5.5 로 버전을 올리면서 발생한 에러입니다.
static 관련 오류가 파파파파파파빡!!!!
당황하지 말고 php.ini 를 열어봅니다.

error_reporting = E_ALL & ~E_DEPRECATED 이렇게 되어 있는 내용을
error_reporting = E_ALL & ~E_STRICT 이렇게 수정하면 사라집니다.

얼마나 엄격하게 검사를 하느냐에 따른 오류인데요. 오류 레벨을 낮춤으로써 해결을 하는 방법이라 이해했습니다.
뭐… 모든 걸 이해하고 설명할 수 있는 건 아니잖아요. 헛헛헛헛

댓글 남기기

Back to Top