Php xmlrpcmsg::serialize()不';t将参数放入序列化的有效负载中
我们使用php xmlrpc库向电子邮件提供商发出xml rpc请求 但是,当在新环境(PHP5.6而不是5.3)上测试这些功能时,它们总是有效的。调用xmlrpcmsg::serialize()时,Php xmlrpcmsg::serialize()不';t将参数放入序列化的有效负载中,php,xml,serialization,xml-rpc,Php,Xml,Serialization,Xml Rpc,我们使用php xmlrpc库向电子邮件提供商发出xml rpc请求 但是,当在新环境(PHP5.6而不是5.3)上测试这些功能时,它们总是有效的。调用xmlrpcmsg::serialize()时,xmlrpcmsg似乎不会在参数值中生成。即使在我var_转储对象时参数明显在那里 我包含库的方式是通过包含xmlrpc.inc(//版权(c)199920002002 Edd Dumbill。)尽管我找不到任何文档可以告诉我可能需要的任何扩展或php版本兼容性 例如: $this->msg
xmlrpcmsg
似乎不会在参数值中生成。即使在我var_转储对象时参数明显在那里
我包含库的方式是通过包含xmlrpc.inc
(//版权(c)199920002002 Edd Dumbill。)尽管我找不到任何文档可以告诉我可能需要的任何扩展或php版本兼容性
例如:
$this->msg = new xmlrpcmsg(
"contact.transactional", array(
// carer details
new xmlrpcval(
array(
"carer_id" => new xmlrpcval($data['Carer_ID'], "string"),
"email" => new xmlrpcval($data['CarerEmail'], "string"),
), "struct"
),
// campaign_id to be launched
new xmlrpcval($trigger['trigger_id'], "int"),
// transactional data to be passed into email template
new xmlrpcval(
array(
"carer_id" => new xmlrpcval($data['Carer_ID'], "int"),
"baby_id" => new xmlrpcval($data['Baby_ID'], "string"),
"carer_email" => new xmlrpcval($data['CarerEmail'], "string"),
), "struct"
),
)
);
当我在本地系统/已经运行的服务器上var\u dump
$this->msg->serialize()
时
<methodcall>
<methodname>contact.transactional</methodname>
<params>
<param>
<value>
<struct>
<member>
<name>email</name>
<value>
<string>adam+testest@testest.co.uk</string>
</value>
</member>
</struct>
</value>
<param>
<value>
<int>17458</int>
</value>
<param>
<value>
<struct>
<member>
<name>carer_id</name>
<value>
<string>654321</string>
</value>
</member>
<member>
<name>baby_id</name>
<value>
<string>123456</string>
</value>
</member>
<member>
<name>carer_email</name>
<value>
<string>adam+testest@testest.co.uk</string>
</value>
</member>
</struct>
</value>
</params>
</methodcall>
看起来我只需要将该库更新到最新版本,它看起来像是一个userland库,而不是标准的PHP。
<methodcall>
<methodname>contact.transactional</methodname>
<params>
<param>
<value></value>
<param>
<value></value>
<param>
<value></value>
</params>
</methodcall>