ありがとう。また会おう。

まぁゆるりとやっていきますよと。

SOAP関数を使う時の注意点

ハマったので備忘録。


PHP標準SOAPライブラリを使う場合、
接続先や利用できるメソッドなどを記述してあるWSDLファイルをキャッシュする機能がある。
http://jp.php.net/manual/ja/soap.configuration.php


この「soap.wsdl_cache_enabled」ディレクティブの値が、デフォルトOnなので、開発時には注意が必要。
WSDLファイルを切り替える時にキャッシュが効いていて、古いWSDLファイルを読み込んだままになっている可能性がある。
ちなみにこのキャッシュファイルの格納先は
「soap.wsdl_cache_dir」(デフォルトは /tmp)
キャッシュ有効期限は「soap.wsdl_cache_ttl」(デフォルトは86400秒=1日)


詳しくは大人の事情で書きませんが、auの携帯公式サイト案件で
「まとめてなんちゃら」のところで
WSDLがキャッシュ読んでるのを気づかずに、動かねぇ、動かねぇ、って頭を悩ませておりました。。。


本番稼働入ったら、キャッシュOnの方がもちろんいいんでしょうけどね。
開発中とか、移行期間中とかはOffの方が変なことに悩まされずに済みますよ、というお話。