호스트에 신비한 PHP 비누 오류가 있지만 로컬로 복제 할 수 없습니다.

StackOverflow https://stackoverflow.com/questions/426747

  •  06-07-2019
  •  | 
  •  

문제

나는 흥미로운 PHP/SOAP 오류를 가로 질러 달려 갔다. 검색 후에는 그럴듯한 설명을 찾지 못했고 도움을 주셔서 감사합니다. 배경은 다음과 같습니다.

Php/에 내장 된 사이트가 있습니다.Codeigniter SOAP를 사용하여 SSL을 통해 제 3자가 제공 한 백엔드 시스템 (무고한 사람을 보호하기 위해 "회사 X"라고 부르겠습니다)과 함께 SSL을 통신합니다. 좋은 MVC의 정신으로, 나는 별도의 모델로 해당 데이터 소스와 상호 작용하는 데 특정 코드를 배치했습니다 (system/application/models/company_x.php). 나는 Mac에서 MAMP를 사용하여 로컬로 개발해 왔으며 테스트와 개발을 통해 거의 모든 것이 비교적 매끄 럽습니다. SSL을 통한 회사 X의 웹 서비스를 포함하여. 나는 그들의 웹 서비스에 PHP 5의 비누가 마음에 들지 않는 이상한 WSDL을 가지고 있다고 언급해야 할 것입니다. 필요한 매개 변수와 같은 것들. 비누 방법을 매우 명시 적으로 부르는 것은 조금 이상했지만, 나는 그것을 얻었고 테스트를 통해 작동했습니다. 나는 심지어 그것을 테스트 사이트에 배치했습니다 모소, 그리고 나는 그것이 거기에서 시간 동안 일했다고 맹세했을 수있었습니다.

SOAP 웹 서비스에 대한 모든 호출이 다음과 같은 오류를 생성하기 시작할 때 놀라움을 상상해보십시오.

    A PHP Error was encountered
    Severity: Warning
    Message: SoapClient::__doRequest() [soapclient.--dorequest]: 
    WARNING: URL fopen access
    Filename: models/company_x.php
    Line Number: 86

오류 로그는 서버의 모델 파일에 대한 전체 경로 이외의 다른 정보를 제공하지 않았습니다. 그것은 현지에서 작동하며, 전에 Mosso에서 일했다고 생각했습니다. 어쩌면 Mosso는 설정을 바꾸고 비누를 장악한 비누를 변경했습니다. 조금 phpinfo() 나중에, 그들은 충분한 것 이상을 가지고 있습니다. 내 Mac이 SSL 인증서에 더 견딜 수 있다고 생각했습니다. 결국, 그것은 Godaddy *.domain.com cert입니다. fopen 통과하는 데 어려움이 있습니다. SSL을 통해 연결하기 위해 테스트 파일을 채찍질하여 Mosso에 넣고 작동했습니다.

왜 그런지 궁금합니다 fopen 비누에 갑자기 문제가 있습니까? 갑자기이 어려운 모소는 무엇입니까? 일부를 무시해야합니까? php.ini 환경? 이와 같은 도움이되지 않는 오류가 너무 자주있는 것처럼 완전히 다른 것일 수 있습니까?

업데이트: 다음은 phpinfo ()의 구성 명령입니다.

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-ming' '--with-mime-magic' '--with-sqlite=shared' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' '--disable-json'

메모: 아래의 내 의견 phpinfo() Furl이 허용된다는보고; 기이한!

도움이 되었습니까?

해결책 3

좋아,이 문제에 대한 약간의 업데이트 : 오류 신비하게 나에게서 아무런 변화없이 사라졌습니다. 모소에 조용히 고정 된 홀수 구성 오류가 있다고 가정해야합니다. 회사 X의 설정에 문제가 있었을 수도 있습니다. 그것은 최악의 고정 IMO입니다! 어쨌든 이것에 대해 보는 모든 분들께 감사드립니다.

다른 팁

당신은 이것을 가질 수 있습니다http://us.php.net/manual/en/filesystem.configuration.php#ini.allow-url-popen

잃어버린.

항상 phpinfo ()를 사용하여 기계 간의 환경을 시각적으로 비교할 수 있습니다.

또 다른 가능성 ( PHP 문서):

참고 : 안전 모드가 활성화되면 PHP는 스크립트가 작동하는 디렉토리가 실행중인 스크립트와 동일한 UID (소유자)를 가지고 있는지 확인합니다.

편집 : 흠 .. PHP 컴파일 옵션에서 안전 모드가 보이지 않으므로 아마도 그렇지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top