I am using PHP 5.4.12 on NGINX (custom buildpack) on Heroku. I'm running into issues when uploading images that are 1.5MB and greater in size. This is what I'm doing:
PHP Upload to Heroku (using iFrames and Ajax)
Crop, Resize and Mask the photo (using Imagick command line,
convert
andcomposite
) on HerokuMove the edited image to another server (because Heroku won't let you store things long-term unless they are git pushed to the server). Right now I'm using my test environment/server for this, but I'm sure I'll eventually move this onto S3.
Any small files go through just fine. Anything bigger than a couple megs will just hang up during (what looks like) upload time. The same exact script works just fine on a different server.
I modified by php.ini
file on Heroku, recompiled the slug, relaunched and reset the dynos. A phpinfo() call shows the increased upload limit, however the script still fails in the same way.
I understand Heroku is supposed to have a 30 second script execution limit, however, the way I see it, PHP upload happens prior to the script beginning execution in the first place.
I was originally trying to execute the upload script from a different server, however, since I'm making an Ajax request to the upload script, I run into CORS (cross origin resource sharing) limitations, and I don't like CORS workarounds since some browsers don't obey.
Any ideas how I can allow users to upload an image greater than 1.5MB, run my cropping/masking script on the image and then store the image somewhere (Amazon S3, for example)? Perhaps someone knows of a way to upload directly to Amazon, edit the images on EC2 and then move to S3? Thanks!
PS, looking for a Flash-free solution, as I'm trying to be mobile friendly.