[wp-trac] [WordPress Trac] #40445: Large file upload through XML-RPC fails with error 500

WordPress Trac noreply at wordpress.org
Wed Apr 19 04:28:38 UTC 2017


#40445: Large file upload through XML-RPC fails with error 500
-------------------------------------+------------------------------
 Reporter:  avibrazil                |       Owner:
     Type:  defect (bug)             |      Status:  new
 Priority:  normal                   |   Milestone:  Awaiting Review
Component:  XML-RPC                  |     Version:  4.7.3
 Severity:  normal                   |  Resolution:
 Keywords:  close reporter-feedback  |     Focuses:
-------------------------------------+------------------------------
Changes (by rmccue):

 * keywords:   => close reporter-feedback


Comment:

 The REST API shipped in WordPress 4.7 as part of core, however we don't
 currently have any external authentication shipped with core (alas).
 That's an ongoing project, but isn't scheduled for a release yet, so
 there's no set timeline on that shipping. (There are plugins available for
 this, including our official [https://github.com/WP-API/OAuth1 OAuth 1.0a]
 plugin, or [https://github.com/WP-API/Basic-Auth Basic Auth] which works
 the same as XML-RPC's authentication.)

 REST API uploads can work in one of two ways: 1) the same as browser-based
 (content type set to `multipart/form-data`, data encoded like a browser
 upload), or 2) direct upload (content-type set to your actual type, like
 `image/png`, and data directly in the request body). Both are subject to
 PHP's regular data input limits.

 We're exploring adding support for chunked uploads in #40410, which would
 allow you to upload in (e.g.) 5MB chunks then reassemble into a single
 file.

 As for the error here, WordPress does do some processing on uploads, so
 potentially it's running out of memory while it's trying to process this.
 XML-RPC should do the same processing, ''except'' that internally it first
 needs to decode the XML request, and I suspect that this is where the
 issue is coming from. (If so, this ''would'' be fixed by using the REST
 API.) Your PHP error logs (not your server access logs) should reveal more
 about that. However, that's more of a support thing, which is likely
 better posted at https://wordpress.org/support/

 I suspect this isn't a bug, but rather just a limit of the server that
 you're hitting, so marking this as a candidate for close pending your
 response.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/40445#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list