I took a long time to get around to this, but I finally applied the
fix. Just setting the flag didn't work, but it was really easy to fix
the problem: I just changed the line
'file' => '@' . $filetosend,
to read
'file' => new CurlFile($filetosend, 'image/svg'),
and that seems to work fine.
Thanks again for your help!
David
On Mon, 11 Mar 2019 at 06:20, David Richfield <davidrichfield(a)gmail.com> wrote:
Thank you!!! I'll fix that this week and compete my migration.
Travis Briggs <audiodude(a)gmail.com> schrieb am So., 10. März 2019, 23:43:
>
> Okay I figured it out.
>
> The problem line is this:
>
https://github.com/slashme/parliamentdiagram/blob/master/parlitest.php#L517
>
> It sets a filename with the "@" prefix, which in Perl 5.5 generates a
warning but still allows you to "slurp" the file that way. So when the CURL
parts of your script execute they see:
>
> 'file': '@https://someurl.com/whatever/path.svg'
>
> as
>
> 'file': <binary file contents>
>
> As this article mentions (
https://wiki.php.net/rfc/curl-file-upload), this was turned
off in PHP 5.6. But actually, it was put behind a flag so you can easily re-enable it if
you choose.
>
> You should simply have to set:
>
> curl_setopt($curl_handle, CURLOPT_SAFE_UPLOAD, false);
>
> If that doesn't work, the linked article also shows you how to create a
"Curl file" object that you can pass around to upload.
>
> Hope this helps,
> -Travis
>
> On Sun, Mar 10, 2019 at 2:59 PM David Richfield <davidrichfield(a)gmail.com>
wrote:
>>
>> OK, that is quite a jump.
>>
>> The source file is here:
https://github.com/slashme/parliamentdiagram/blob/master/parlitest.php
>>
>> Thanks for your help!!
>>
>> Travis Briggs <audiodude(a)gmail.com> schrieb am So., 10. März 2019, 22:55:
>>>
>>> As you can see here:
https://wikitech.wikimedia.org/wiki/News/Toolforge_Trusty_deprecation#Langu…
>>>
>>> PHP went from version 5.5.9 to version 7.2 in the upgrade.
>>>
>>> That's all I've got. Can I see your source code?
>>>
>>> -Travis
>>>
>>> On Sun, Mar 10, 2019 at 2:04 PM David Richfield
<davidrichfield(a)gmail.com> wrote:
>>>>
>>>> Hi Travis,
>>>>
>>>> That part of the tool is written in PHP, a language I don't speak
>>>> natively: I hacked it together from Brad Jorsch's oauth-hello-world
(
>>>>
https://tools.wmflabs.org/oauth-hello-world/index.php?action=download
>>>> )
>>>>
>>>> Thanks
>>>>
>>>> David
>>>>
>>>> On Sun, 10 Mar 2019 at 21:55, Travis Briggs <audiodude(a)gmail.com>
wrote:
>>>> >
>>>> > Hi David,
>>>> >
>>>> > What language is your tool running in? There are definitely major
differences in versions on Stretch v Trusty. A library you were using on Trusty may have
been upgraded and is behaving differently.
>>>> >
>>>> > That's about all I can think of from what you provided.
>>>> >
>>>> > Hope this helps,
>>>> > -Travis
>>>> >
>>>> > On Sun, Mar 10, 2019 at 11:15 AM David Richfield
<davidrichfield(a)gmail.com> wrote:
>>>> >>
>>>> >> Hi all,
>>>> >>
>>>> >> I moved my tool (parliamentdiagram) to Stretch today, and
everything
>>>> >> works, except direct upload to Wikimedia Commons. I get the
following
>>>> >> error:
>>>> >>
>>>> >> "Error: File upload parameter "file" is not a
file upload; be sure to
>>>> >> use "multipart/form-data" for your POST and include a
filename in the
>>>> >> "Content-Disposition" header."
>>>> >>
>>>> >> The request looks like this:
>>>> >>
>>>> >> action: upload
>>>> >> uri:
/data/project/parliamentdiagram/public_html/svgfiles/2019-03-10-18-07-19-687399-18179320035893093241.svg
>>>> >> filename: My_Parliament.svg
>>>> >> pagecontent: == {{int:filedesc}} ==
>>>> >> (and some more content that I'm snipping for brevity)
>>>> >>
>>>> >> This works fine on Trusty, but neither on Gridengine or
Kubernetes.
>>>> >> Where should I look for the cause?
>>>> >>
>>>> >> For now, I'm going to keep the tool running on Trusty so
that my users
>>>> >> still have this option.
>>>> >>
>>>> >> --
>>>> >> David Richfield
>>>> >> +49 176 72663368
>>>> >>
>>>> >> _______________________________________________
>>>> >> Wikimedia Cloud Services mailing list
>>>> >> Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>>>> >>
https://lists.wikimedia.org/mailman/listinfo/cloud
>>>> >
>>>> > _______________________________________________
>>>> > Wikimedia Cloud Services mailing list
>>>> > Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>>>> >
https://lists.wikimedia.org/mailman/listinfo/cloud
>>>>
>>>>
>>>>
>>>> --
>>>> David Richfield
>>>> +49 176 72663368
>>>>
>>>> _______________________________________________
>>>> Wikimedia Cloud Services mailing list
>>>> Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>>>>
https://lists.wikimedia.org/mailman/listinfo/cloud
>>>
>>> _______________________________________________
>>> Wikimedia Cloud Services mailing list
>>> Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>>>
https://lists.wikimedia.org/mailman/listinfo/cloud
>>
>> _______________________________________________
>> Wikimedia Cloud Services mailing list
>> Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>>
https://lists.wikimedia.org/mailman/listinfo/cloud
>
> _______________________________________________
> Wikimedia Cloud Services mailing list
> Cloud(a)lists.wikimedia.org (formerly labs-l(a)lists.wikimedia.org)
>
https://lists.wikimedia.org/mailman/listinfo/cloud