이에 대한 블로그 게시물을 찾았지만 부작용에 대한 설명이 부족합니다.
나는이 단계들에 대한 세부 사항을 실제로 사용할 수 있습니다.
- yum에 PHP 5.4를 제공하는 저장소를 추가하는 방법
- CentOS의 현재 PHP 버전을 완벽하게 대체 할 수 있습니까?
- PHP 5.4를 지원할 때 공식 저장소로 다시 전환하려면 어떻게해야합니까? (내 시스템의 현재 5.3.3)
- 현재 사용중인 PHP 모듈을 손상시킬 가능성이 있습니까?
노트
사람들은 최신 버전에서 동일한 방법으로 업그레이드했으며 문제의 특정 버전을 제거하는 것이 좋습니다. 최신 버전에서 실제로 문제가 발생하는 경우 버전을 고정하는 것이 좋지만 커뮤니티에서 제안한 최신 성공 버전을 메모로 유지하고 싶습니다.
다른 버전에서 성공적으로 업그레이드 한 경우 자유롭게 업데이트하십시오.
- PHP 버전 : 5.4, 5.5, 5.6
- CentOS 버전 : 5, 6
답변
Fedora 17/16, CentOS / RHEL 6.3 / 5.8에 Apache / PHP 5.4.10 설치 의 지침을 약간 수정했습니다. 아마도 10 분이 걸렸습니다. 내 정확한 명령은 다음과 같습니다. 첫 번째 명령은 기사에 표시된 것과 달라야합니다. 에서 epel-release-6-7.noarch.rpm
로 변경되었습니다 epel-release-6-8.noarch.rpm
.
-
yum에 PHP 5.4를 제공하는 저장소를 추가하는 방법은 무엇입니까?
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
-
CentOS에서 현재 PHP 버전을 완벽하게 대체 할 수 있습니까? 나에게 다음 명령이 효과가 있었고 기존 PHP 웹 페이지 중 어느 것도 깨지지 않았습니다. 귀하의 마일리지가 다를 수 있습니다.
yum --enablerepo=remi install httpd php php-common yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml service httpd restart
-
PHP5.4를 지원할 때 공식 리포지토리로 다시 전환하려면 어떻게해야합니까? CentOS 리포지토리에서 PHP를 제거하고 다시 설치하는 명령을 테스트하지는 않았지만 작동합니다.
# Remove the Remi packages. Note the reversed command order yum remove php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml yum remove httpd php php-common # Install the CentOS packages. yum install httpd php php-common yum install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
-
현재 사용중인 PHP 모듈을 손상시킬 가능성이 있습니까? 예. Zend 설치 프로그램을 사용하여 설치된 Zend와 함께 최신 버전의 CentOS (6.2?)를 사용하면 위의 업그레이드로 Zend가 중단되었습니다.
위의 모든 명령은로 실행되었습니다 root
. 모범 사례는 권한이없는 사용자로 로그인하여을 사용하는 것 sudo
입니다. (현재 스냅 샷이있는 개발 VM입니다 …)
또한 Remi 저장소를 기본적으로 활성화하지 마십시오. 과거에는 저장소를 우선적으로 사용하더라도 영리하고 기본적으로 활성화했습니다.
답변
다른 Webtatic 답변보다 개선 :
1 . http://www.webtatic.com/packages/php54/ 의 안내서 사용 :
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2. 먼저 기존의 설치된 패키지를 대체해야하는 것을 확인해야합니다. yum 쉘을 사용하여 php-common 제거와 하나의 트랜잭션에서 php54w-common 설치를 결합하여이를 수행 할 수 있습니다 (따라서 공유 종속성이 제거되지 않음)
yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n
결과에 “y”라고 말하지 말고 “종속성 제거”에 언급 된 모든 패키지를 기록하십시오.
Removing for dependencies:
php
php-cli
php-pear
php-pecl-memcache
php-mysql
이 목록에 php * 이외의 다른 패키지가 있으면 Webtatic PHP 5.4로 완벽하게 전환 할 수 없지만 대안을 조사해야합니다. Webtatic은 모든 기본 PHP 패키지에 대한 대체 패키지를 보유하고 있으므로 (1의 링크 된 페이지에 나열된 패키지 참조) 특정 PHP 버전에 따라 패키지가 설치된 다른 타사 리포지토리를 사용하지 않는 한 문제가 없습니다. 설치되었습니다.
나머지 설치 (여전히 yum 셸에 있음)의 경우 이러한 패키지를 제거하고 php54w- * 대응 물을 설치하면됩니다.
> remove php-common php php-cli php-pear php-pecl-memcache php-mysql
> install php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> run
…
Is this ok [y/N]: y
그런 다음 목록에서 제거 및 설치하도록 설정 한 패키지 만 표시되고 설치를 전환하도록 확인할 수 있습니다. 현재 php가로드 된 상태에서 실행중인 모든 서비스 (예 : httpd 또는 php-fpm)를 다시 시작해야합니다.
이것이 ‘완벽한’이기 때문에 사용자가 웹 사이트에 액세스 할 수있는 동안 발생하는 모든 소프트웨어 변경은 결과를 완전히 이해해야합니다. 프로세스가 아직로드되지 않은 경우 제거 및 추가 된 공유 라이브러리는 공유 라이브러리가없는 동안 잠재적으로로드 될 수 있습니다. 오프라인과 같은 소프트웨어 업그레이드를 수행하는 것이 좋으며, 비 프로덕션 머신에서 먼저 테스트하여 프로세스가 예상대로 작동하는지 확인하는 것이 좋습니다.
삼 . 가상 CentOS 기본 php54 패키지 (CentOS 5는 php53 접두사 사용)로 전환하려면 위의 단계를 실행하여 php 제거를 php54w 제거로 바꾸고 php54w 설치를 php54 설치로 바꾸십시오.
yum shell
> remove php54w-common
> install php54-common
> run
…
Is this ok [y/N]: n
…
> remove php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> install php54-common php54 php54-cli php54-pear php54-pecl-memcache php54-mysql
> run
Is this ok [y/N]: y
그러나 가상의 기본 php54로 전환하는 경우 일부 패키지에 대한 대안이 없을 것입니다 (예 : CentOS 5에는 php53-pecl-memcache 확장이 없었습니다) .Webtatic에는 CentOS 기반에서 사용할 수없는 패키지가 있습니다 (예 : php54w -pecl-zendopcache). 누락 된 경우 pecl을 사용하여 직접 설치하는 것 이외의 다른 옵션은 없습니다.
4. PHP 업그레이드시 버그가 발생할 수 있으며 웹 사이트를 다시 테스트해야합니다. 이것은 Webtatic에만 국한된 것이 아니라 새로운 기능으로 인해 새로운 버그가 발생한다는 일반적인 아이디어입니다.
허용되는 답변에있는 Remi의 저장소와 달리 Webtatic EL6 저장소는 CentOS 기본 저장소와 동일한 패키지 이름을 사용하지 않으므로 전환하지 않으려는 패키지의 설치 / 업그레이드를 무시하지 않으며 기본적으로 활성화되어 있습니다.
면책 조항 : 나는 Webtatic의 소유자 / 유지 자입니다
답변
yum 설치에 대한 PHP 5.4.9를 찾을 수 있습니다.
http://www.webtatic.com/packages/php54/
“rpm -qa | grep php”를 사용하여 현재 모든 PHP 패키지를보고 “rpm -e”를 제거 할 수 있습니다. 현재 모듈을 모르지만 업그레이드 전에 테스트 할 가치가 있습니다.