WordPress XML-RPC POST возвращает ошибку 32700 с установленным расширением php-xml - PullRequest
0 голосов
/ 08 марта 2019

Я использую HTTPie для выполнения POST запроса к моей локальной установке Wordpress с целью проверки наличия и включения XML-RPC.

http --verify=no POST https://crmpicco.localhost/xmlrpc.php data="<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value>admin</value></param><param><value>pass</value></param></params></methodCall>"

Возвращает 200, однако ответ имеет код ошибки:

HTTP/1.1 200 OK
Connection: close
Content-Length: 403
Content-Type: text/xml; charset=UTF-8
Date: Fri, 08 Mar 2019 03:18:43 GMT
Server: Apache/2.4.35 (Unix) OpenSSL/1.0.2p PHP/7.2.11
X-Powered-By: PHP/7.2.11

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
  <fault>
    <value>
      <struct>
        <member>
          <name>faultCode</name>
          <value><int>-32700</int></value>
        </member>
        <member>
          <name>faultString</name>
          <value><string>parse error. not well formed</string></value>
        </member>
      </struct>
    </value>
  </fault>
</methodResponse>

Другие с этой проблемой указывают на то, что расширение php-xml недоступно, однако, когда я делаю php -m | grep -i xml, оно отображается как установленное:

libxml
SimpleXML
xml
xmlreader
xmlrpc
xmlwriter

Чего мне не хватает?

1 Ответ

0 голосов
/ 11 марта 2019

Мне пришлось использовать для этого cURL.Я не уверен в том, что именно я делал неправильно с HTTPie или у него есть ограничение в этом отношении, однако он работал с cURL с:

curl -k -d '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value>user</value></param><param><value>pass</value></param></params></methodCall>' https://crmpicco.localhost/xmlrpc.php

...