I'm using PHP 5.3.0 and have encountered something that might be a bug (in which case I'll report it) or might be me - so I'm asking to make sure.
When running this code:
<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')
I end up with:
2M, 8M
This is despite my php.ini setting these higher:
upload_max_filesize = 10M
post_max_size = 10M
(occuring only once)
Because the error occurs after setting the value as well as it being set in php.ini I'm inclined to think it's a bug. Can anyone confirm or point me where I'm going wrong?
Update: Looks like restarting Apache fixed this - I always thought it didn't need to be restarted if you changed php.ini.
This can also be controlled with the apache configuration. Check the httpd.conf and/or .htaccess for something like the following:
Since I just ran in to this problem on a shared host and was unable to add the values to my .htaccess file I thought I'd share my solution.
I made an ini file with the values in it. Simple as that:
Make a file called ".user.ini" and add your values
Boom, problem solved.
You can use also in the php file like this
if you use ini_set on the fly then you will find here http://php.net/manual/en/ini.core.php the information that e.g. upload_max_filesize and post_max_size is not changeable on the fly (PHP_INI_PERDIR).
Only a php.ini, .htaccess or vhost config change seems to change these variables.
If you are running in a local server, such as wamp or xampp, make sure it's using the php.ini you think it is. These servers usually default to a php.ini that's not in your html docs folder.
I got this to work using a .user.ini file in the same directory as my index.php script that loads my app. Here are the contents:
This is the recommended solution for Heroku.