CentOS 서버에 PHP 5.3을 설치해야합니다. 내가 할 경우 yum install php
, 기본 저장소는 내가 설치해야하는 응용 프로그램에 대한 너무 오래 5.1.6을 설치합니다. 따라서 IUS 의 공식 지침에 따라 IUS 저장소 를 사용하려고했습니다 .
root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm
root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm
확인. 이제는 yum install php53
필요한 모든 작업을 간단하게 수행 하지만 …이 오류가 발생합니다.
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Check Error:
file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64
Error Summary
-------------
나는 이것을 해결하는 방법을 모른다. 기본 패키지를 삭제해야한다고 생각합니다. 그러나 Linux를 처음 접하는 사람은 그 방법을 모르겠습니다.
답변
업데이트 : 분명히 RHEL 5.6 에는 PHP 5.3 이 포함되어 있으므로 곧 CentOS에 기본적으로 표시됩니다.
file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64
여기서 문제는 설치하는 패키지의 이름이 다르지만 (php 대신 php53) 동일한 파일을 설치하려고 시도하기 때문에 충돌이 발생한다는 것입니다. 이것이 패키지를 함께 모으는 가장 좋은 방법은 아니지만, 더 나은 패키지가 있는지 모르겠 기 때문에 무시할 것입니다.
현재 설치된 패키지를 제거하려면
# yum remove php-cli php-common php
따라서 일반적으로 yum remove <list of packages>
패키지를 제거합니다. 물론 yum list installed
설치된 패키지 목록 (또는 rpm -qa
) 을 보려면
답변
이에 대한 답변은 2011 년 1 월 13 일부터 변경되었습니다. Red Hat은 버전 5.6을 출시했으며 여기에는 별도의 패키지 ( php53
) 로 PHP 버전 5.3이 포함됩니다 .
이전 PHP를 제거한 다음 PHP 5.3을 별도로 설치해야합니다. 이것은 IUS 저장소의 패키지와 비슷하게 들리지만 이제는 공식입니다.
자세한 정보 는 Red Hat 릴리즈 노트를 참조하십시오 .
이것은 Red Hat에서 나오지 않았으며 CentOS에서 사용할 수 있으려면 약간의 지연이 있습니다. 그러나 RHEL 5.6 업데이트는 비교적 사소한 것으로 보이므로 너무 길지 않을 것으로 예상됩니다.
답변
새 패키지를 설치하기 전에 이전 버전의 패키지를 제거하십시오.
얌 지우기 PHP-cli PHP-comon
그런 다음 yum 설치를 시도하십시오.
경고 : 다른 중요한 패키지를 제거하지 않도록 yum이 커밋하기 전에 변경하려는 목록을 살펴보십시오.
답변
맞습니다. 먼저 기본 PHP 패키지를 제거해야합니다. 계속 진행하기 전에 다른 패키지에는 기본 버전에 대한 특정 종속성이있을 수 있습니다. 아마도 괜찮을 것입니다. 그러나 나중에 다른 문제를 해결해야 할 수도 있습니다.
발행하여이 작업을 수행 할 수 있어야합니다
yum erase php-common php-cli
당신이 따라
yum install php53
답변
CentOS 6을 사용할 수 있으며 PHP 5.3이 포함되어 있습니다.
답변
- 나는 제거했다
php-cli
,php-common
그리고php-dev
다른 일부 종속성이 아무것도하지만 함께 (등 MySQL은, 그대로였다.) - 의존성으로 PHP 5.3 버전에 동일한 패키지를 설치했으며 이제 모든 것이 작동합니다.
phpinfo
PHP 버전 5.3.3을 실행하고 있음을 확인합니다. - 나는 Apache를 다시 시작했고 Joomla를 실행하는 사이트는 정상적으로 작동합니다.
답변
“yum update php”가 충돌 오류를 발생시키는 동일한 문제가 있습니다.
“yum update”(모두 업데이트)를 실행하면 나에게 도움이되었습니다. 시도해보십시오.
또한 “yum erase php”또는 “yum remove php”를 실행하면 PHP에 의존하는 모든 패키지 가 제거 될 수 있습니다.이 패키지 가 설치되어 있으면 Plesk 또는 CPanel 제어판을 포함 할 것입니다. 내가 실수하지 않으면 다시 설치해야하는데, 이는 고통 스러울 수 있습니다.