<?php
 class MyFirstPersistentSoapServer {
 private $resource; // (例如 PDO、mysqli 等)
 public $myvar1;
 public $myvar2;
 public function __construct() {
 $this->__wakeup(); // 我们调用我们的唤醒函数来处理启动我们的资源
 }
 public function __wakeup() {
 $this->resource = CodeToStartOurResourceUp();
 }
 public function __sleep() {
 // 我们确保在此处省略 $resource,以便我们的会话数据保持持久
 // 否则会导致在下一个请求期间数据反序列化失败;因此,我们的 SoapObject 不会在请求之间持久。
 return array('myvar1','myvar2');
 }
 }
 try {
 session_start();
 $server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
 $server->setClass('MyFirstPersistentSoapServer');
 // setPersistence 必须在 setClass 之后调用,因为 setClass 的
 // 行为在执行该方法时会设置 SESSION_PERSISTENCE_REQUEST。
 $server->setPersistence(SOAP_PERSISTENCE_SESSION);
 $server->handle();
 } catch(SoapFault $e) {
 error_log("SOAP 错误: ". $e->getMessage());
 }
?>