Comment 0 for bug 573591

Revision history for this message
Ian Justman (ianj) wrote : Uploads greater than 64 kilobytes corrupted under PHP 5.3.2

Binary package hint: php5

I run a Mediawiki server which I just recently upgraded to Lucid Lynx. My wiki's users originally reported issues with uploading PNGs, but further testing on the actual server along with a VM show that it is not MediaWiki itself that is doing this but PHP. Using a very simple HTML and PHP script setup, I uploaded several files, mainly images but I also uploaded .ZIP files as well. Under PHP 5.3.2 even using either my full live system or a very basic setup*, all files greater than 64 kilobytes were corrupted at about the 64 kilobyte mark. The amount of corrupted data varies but it doesn't appear to be more than about 32 kilobytes.

However, in stark contrast, PHP 5.2.10 in Karmic Koala running in another VM works just fine using the exact same "very basic setup".

Both of these setups are running x86-64 installs. I have yet to try x86-32 installs.

This might be an upstream issue in PHP 5.3.2 since they ditch mime_magic in favor of fileinfo, so I am going to test this in other distributions, notably Debian.

-----

*The "very basic setup" requires the following packages and their dependencies be present per my own production setup:

php5-cgi
apache2-mpm-worker
libapache2-mod-fcgid

Note that in Lucid Lynx, I do NOT include any other PHP modules, including Suhosin.

Optionally, I add apache2-custom-suexec (which is required on my production setup because I do not use /var/www but /home/wwwhome).

The changes to the default setup involve adding a few lines to /etc/apache2/sites-available/default, a few files and a directory in /var/www, along with chowning -R ianj:ianj the entire /var/www hierarchy, then enabling suexec. The configs and /var/www hierarchy set up appropriately are in the attached tarball and is unpacked in /. It assumes the username "ianj" who is in group "ianj". Adjust system or configs to suit.