PHP에서 WSDL 캐시를 어떻게 지울 수 있습니까?
를 통해 php_info()
WSDL에 캐시가 유지되는 경우 ( /tmp
이 WSDL로 시작하는 모든 파일을 삭제하는 것이 안전 경우),하지만 난 반드시 알 수 있습니다.
네, 해야 우리 에서 불과 삭제 모든 것을 할 수있을 /tmp
,하지만 난 어떤 모든 WSDL 파일을 삭제하면이 영향을 수 밖에 모르겠어요 .
WSDL 캐시 파일을 신뢰할 수 있습니다. 다음을 사용하십시오.
ini_set("soap.wsdl_cache_enabled", 0);
또는 동적으로 :
$client = new SoapClient('http://somewhere.com/?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE) );
서버의 / tmp 폴더에있는 모든 wsdl * 파일을 제거하십시오.
WSDL 파일은 php.ini에 정의 된 모든 캐시 파일의 기본 위치에 캐시가됩니다. 세션 파일과 동일한 위치.
wsdl URL에서 캐시 버스터를 사용하는 것이 좋습니다.
우리 앱에서는 wsdl URL에 SVN Revision ID를 사용하는 클라이언트가 구조 변경을 즉시 알 수 있습니다. 이것은 우리 앱에서 작동합니다. 왜냐하면 서버 측을 설명 할 때마다 그에 따라 클라이언트도 조정해야하기 때문입니다.
$client = new SoapClient('http://somewhere.com/?wsdl&rev=$Revision$');
svn이 지정해야합니다. 모든 리포지토리에서 기본적으로 활성화되어 있습니다.
두 구성 요소 (서버, 클라이언트)에 대한 책임이있는 다른 VN을 사용하지 않는 경우 wsdl URL에서 캐시 버스터로 시스템을 표시 할 수 있습니다.
코드를 이미 배포했거나 구성을 설명 수없는 경우 wsdl에서 모든 임시 파일을 제거 할 수 있습니다.
rm /tmp/wsdl-*
문서화의 자료 :
나는 지금 (2014)이 모든 가치 있고 올바른 접근 방식 중에서 오직 하나만이 말하는 것을 관찰했습니다. 서버의 WSDL에 기능을 추가로 설치 클라이언트가 새 기능을 인식하지.
WSDL_CACHE_NONE
참조 변수를 추가 해도 도움이되지 않습니다.- 캐시 버스터를 추가해도 도움이되지 않습니다.
soap.wsdl_cache_enabled
PHP ini 설정 이 도움이되었습니다.
나는 그것이 세 가지 모두의 조합인지, 또는 일부 기능이 끔찍하게 구현되어 무작위로 쓸모없는 상태가 있는지 여부 또는 이해되지 않은 기능 계층이 확실하지 않습니다.
따라서 마지막으로 문제를 해결해야합니다.
php.ini
파일을 편집 soap.wsdl_cache_enabled
하고 값을 검색하여 설정하십시오.0
[soap]
; Enables or disables WSDL caching feature.
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=0
참고 URL : https://stackoverflow.com/questions/303488/in-php-how-can-you-clear-a-wsdl-cache
'IT' 카테고리의 다른 글
배치 확장 내에서 배치 확장을 어떻게 실행 가능합니까? (0) | 2020.09.15 |
---|---|
방문자로부터 실제 IP를 얻는 방법은 무엇입니까? (0) | 2020.09.15 |
JavaScript 확장 및 숫자 변환 (0) | 2020.09.15 |
Javascript에 배열 목록이 있습니까? (0) | 2020.09.15 |
angular2 뷰 템플릿의 열거 형 전달 (0) | 2020.09.15 |