2015-01-09 11 views
3

PHP 용 SOAP 확장을 Centos 6.4 서버에 설치하려고합니다. 필자는 패키지 관리자, CLI에서 패키지를 설치하고 PHP 내에서 패키지를 구성하는 것에 익숙하지 않습니다. 나는 php.ini와 다른 PHP 설정 파일 (soap.ini 등)을 관리하는 데 상당히 유능하다.yum과 pear가 모두 함께 php-soap을 설치하지 못했습니다.

나는이이 명령을 사용하여 설치를 시도 :

yum install php-soap 

를하지만 나에게 다음과 같은 오류 제공 :

yum install php-soap 
Loaded plugins: downloadonly, fastestmirror 
Setting up Install Process 
Loading mirror speeds from cached hostfile 
drivesrvr                                                | 951 B  00:00  
Resolving Dependencies 
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. 
The program yum-complete-transaction is found in the yum-utils package. 
--> Running transaction check 
---> Package php-soap.x86_64 0:5.3.3-40.el6_6 will be installed 
--> Processing Dependency: php-common(x86-64) = 5.3.3-40.el6_6 for package: php-soap-5.3.3-40.el6_6.x86_64 
--> Running transaction check 
---> Package php-common.x86_64 0:5.3.3-40.el6_6 will be installed 
--> Processing Conflict: php54-common-5.4.36-1.ius.el6.x86_64 conflicts php-common < 5.4 
--> Finished Dependency Resolution 
Error: php54-common conflicts with php-common-5.3.3-40.el6_6.x86_64 
You could try using --skip-broken to work around the problem 
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows: 
cloud-init-0.7.5-10.el6.centos.2.x86_64 has missing requires of PyYAML 

참고이 문제 :

Error: php54-common conflicts with php-common-5.3.3-40.el6_6.x86_64 

나는 모든 목록 경우 내가 설치 한 PHP 관련 패키지는 다음과 같습니다.

yum list installed | grep php 
php-php-gettext.noarch    1.0.11-3.el6      @epel  
php-tcpdf.noarch     6.1.1-1.el6      @epel  
php-tcpdf-dejavu-sans-fonts.noarch 6.1.1-1.el6      @epel  
php54.x86_64      5.4.36-1.ius.el6     @ius  
php54-bcmath.x86_64    5.4.36-1.ius.el6     @ius  
php54-cli.x86_64     5.4.36-1.ius.el6     @ius  
php54-common.x86_64    5.4.36-1.ius.el6     @ius  
php54-devel.x86_64     5.4.36-1.ius.el6     @ius  
php54-gd.x86_64     5.4.36-1.ius.el6     @ius  
php54-mbstring.x86_64    5.4.36-1.ius.el6     @ius  
php54-mcrypt.x86_64    5.4.36-1.ius.el6     @ius  
php54-mysql.x86_64     5.4.36-1.ius.el6     @ius  
php54-pdo.x86_64     5.4.36-1.ius.el6     @ius  
php54-pear.noarch     1:1.9.5-2.ius.el6     @ius  
php54-pecl-apc.x86_64    3.1.13-2.ius.el6     @ius  
php54-pecl-memcache.x86_64   3.0.8-1.ius.el6     @ius  
php54-suhosin.x86_64    0.9.37-1.ius.el6     @ius  
php54-tidy.x86_64     5.4.36-1.ius.el6     @ius  
php54-xml.x86_64     5.4.36-1.ius.el6     @ius  
phpMyAdmin.noarch     4.0.10.7-1.el6      @epel  
나는 또한 배를 사용하여 SOAP 확장을 설치하는 것을 시도했다

:

sudo pear install SOAP-0.13.0 

이 확장이 성공적으로 설치되었는지 주장 :는 '확장 = 비누를 추가에도 불구

WARNING: "pear/HTTP_Request" is deprecated in favor of "pear/HTTP_Request2" 
Did not download optional dependencies: pear/Mail, pear/Mail_Mime, pear/Net_DIME, use --alldeps to download automatically 
WARNING: "pear/Net_URL" is deprecated in favor of "pear/Net_URL2" 
pear/SOAP can optionally use package "pear/Mail" 
pear/SOAP can optionally use package "pear/Mail_Mime" 
pear/SOAP can optionally use package "pear/Net_DIME" 
downloading SOAP-0.13.0.tgz ... 
Starting to download SOAP-0.13.0.tgz (85,945 bytes) 
....................done: 85,945 bytes 
downloading HTTP_Request-1.4.4.tgz ... 
Starting to download HTTP_Request-1.4.4.tgz (17,109 bytes) 
...done: 17,109 bytes 
downloading Net_URL-1.0.15.tgz ... 
Starting to download Net_URL-1.0.15.tgz (6,303 bytes) 
...done: 6,303 bytes 
downloading Net_Socket-1.0.14.tgz ... 
Starting to download Net_Socket-1.0.14.tgz (5,600 bytes) 
...done: 5,600 bytes 
install ok: channel://pear.php.net/Net_URL-1.0.15 
install ok: channel://pear.php.net/Net_Socket-1.0.14 
install ok: channel://pear.php.net/HTTP_Request-1.4.4 
install ok: channel://pear.php.net/SOAP-0.13.0 

그러나, .so '내 php.ini SOAP 여전히 내 phpinfo() 나타나지 않습니다.

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/soap.so' - /usr/lib64/php/modules/soap.so: cannot open shared object file: No such file or directory in Unknown on line 0 

'내에 soap.so 파일에/usr가없는 것으로 보인다 : 명령 줄에서'PHP는 -v '또는'배 정보 SOAP-0.13.0 '를 실행할 때 나는 또한 다음과 같은 오류가/lib64에/PHP/모듈/'또는 다른 곳 서버에서, 내가 사용 확인했다 :

cd/
find -name soap.so 

나는 제거하고 때마다 몇 번을 다시 설치하고 같은.

이러한 방법 중 하나라도 실패한 이유에 대해 설명 할 수있는 사람은 누구입니까? 필요한 경우 추가 정보를 제공해 주어서 기쁩니다.

+0

CentOS/EPEL/IUS php 패키지가 섞여 있습니다. 그것은 좋은 생각이 아닙니다. 'php-common'을'php54-common'으로 바꾸고 그 도움이되는지 알아 봅니다 (유사한 치료가 필요한 다른 패키지가있을 수도 있습니다). –

+0

안녕하세요 @EtanReisner 귀하의 답변을 주셔서 감사합니다, 나는 리눅스 서버 관리 및 패키지 관리에 너무 속도 아니에요, 난 방금이 서버를 상속, 난 원래 그것을 설정하지 않았다. EPEL과 IUS 패키지의 차이점은 무엇입니까? 저장소/관리자와 관련이 있습니까? 어느 쪽이든, 내가 틀린 경우를 제외하고는 이미 php54-common 패키지를 설치했기 때문에 원래 yum 오류와 줄 7이 설치되어 있습니다. grep php '결과 : php54-common.x86_64 5.4.36-1.ius.el6 [at] ius –

+1

'EPEL'과'IUS'는 패키지의 다른 저장소 (다른 관리자, 다른 버전, 다른 QA/등)입니다. 연습). 'EPEL'은 Fedora 프로젝트입니다. 'IUS'에 대해서는 아무것도 모른다. 아, 실제로 php54-common이 설치되어 있습니다. 오류를 잘못 읽었습니다. 이는'php54-common' 대신'php-common'을 요구하는 CentOS 나'EPEL''php-soap' 패키지를 설치하려한다는 것을 의미합니다. 'IUS'에서'php54-soap' 패키지를 구할 수 있습니까? –

답변

4

위의 @EtanReisner의 의견에 따라 이제 SOAP 패키지를 성공적으로 설치할 수있게되었습니다.

문제점은 EPEL 및 IUS 저장소의 PHP 패키지가 혼합되어 있다는 것이 었습니다. 위의 이러한 PHP 패키지의 대부분은 IUS 저장소에서입니다

yum list installed | grep php 

, 그것은 보인다 내가하려고했던 PHP는 비누 패키지

yum install php-soap 

되었습니다 사용하여 설치한다는 EPEL에서 볼 벌 수 있듯이 따라서 PHP-common 파일에서 충돌이 강조 표시됩니다.

php54-soap.x86_64       5.4.36-1.ius.el6    ius 

이미 SOAP 패키지의 실패 설치 중 하나를 제거 데 : 내가있는 더 적절한 IUS를 기반으로 PHP의 SOAP 패키지를 포함하는 다음

yum list | grep ^php54 

결과를 실행 한 위의 제안에 따라 내 최초의 시도에 의해 남겨진 나는 그 무엇의 문제없이 처음 설치 php54-비누

를 설치 냠

를 실행 오.

PEAR 기반 패키지 관리자가 패키지를 성공적으로 설치하지 못한 이유에 대해이 질문의 두 번째 부분에 대한 해결책을 찾지 못했습니다.