Принудительное повторное кэширование WSDL в php

Я знаю, как отключить WSDL-кеш в PHP, но как насчет принудительного повторного кэширования WSDL?

Это то, что я пробовал: я запускаю свой код с кешированием, установленным в отключенном состоянии, и появились новые методы, которые были обнаружены. Затем я активировал кеширование, но по какой-то причине мой старый неработающий wsdl появился снова. Итак: как я могу заставить мой новый WSDL перезаписать мой старый кеш?

Related of "Принудительное повторное кэширование WSDL в php"

Я думаю, когда вы отключите кеширование, он также прекратит запись в кеш. Поэтому, когда вы снова включаете кеш, старая кешированная копия все равно будет и действительна. Вы можете попробовать (с включенным кэшированием)

ini_set('soap.wsdl_cache_ttl', 1); 

Я добавил время, чтобы жить в течение одной секунды, потому что я думаю, что если вы положите нуль, он полностью отключит кеш, но не удалит запись. Вероятно, вы захотите включить эту строку только в том случае, если хотите убить кешированную копию.

В моем php.ini есть запись, которая выглядит так:

 soap.wsdl_cache_dir="/tmp" 

В / tmp я нашел кучу файлов с именем wsdl- [some hexadecimal string]

Я могу очистить файлы кэша wsdl с помощью этой команды:

 rm /tmp/wsdl-* 

Удалите старый WSDL из кеша.

Я бы попробовал

 $limit = ini_get('soap.wsdl_cache_limit'); ini_set('soap.wsdl_cache_limit', 0); ini_set('soap.wsdl_cache_limit', $limit); 

Или, возможно, установите soap.wsdl_cache_ttl на 0 и обратно