2

I've had plenty of issues with PHP and apache caching things whenever it feels like it and I seems like it's always next to impossible to get rid of it.

I currently have the following problem: I'm writing a PHP stub to call a local web service in Java as an RPC. After making changes on the Java Soap side, my simple PHP unit test still thinks the old functions are still there.

I know Java is not caching because when I check the WSDL file in a browser, everything is fine, but PHP is not even responding to changes and thinks the old ones are still there!

I'm fed up with PHP! How do I make PHP stop doing this? How is anyone suppose to activity develop anything when it caches every other second?

EDIT:

The php is a very simple RPC.

$client = new SoapClient("http://localhost:9999/ws/login?wsdl");
$functions = $client->__getFunctions();
var_dump ($functions);

The functions simple do not reflect what's in the WSDL file so it's obviously not even bothering to check.

Alexander Kleinhans
  • 5,950
  • 10
  • 55
  • 111
  • Use Java on the client side too ;) – stepanian Apr 01 '16 at 09:38
  • 1
    PHP doesn't cache anything unless you tell it to, but as you can't be bothered to show your code so we can see how it works, there's not much we can do to help.... or did you simply want to rant – Mark Baker Apr 01 '16 at 09:38

1 Answers1

0

Per Owen's answer, you can disable WSDL caching with this which you should probably run in unit tests. I suppose it's enabled by default somewhere in an ini file or something.

ini_set("soap.wsdl_cache_enabled", 0);
Alexander Kleinhans
  • 5,950
  • 10
  • 55
  • 111