Changing upload_max_filesize on PHP
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.
You can't use shorthand notation to set configuration values outside of PHP.ini. I assume it's falling back to 2MB as the compiled default when confronted with a bad value.
On the other hand, I don't think upload_max_filesize
could be set using ini_set()
. The "official" list states that it is PHP_INI_PERDIR
.
Are you using a shared hosting provider? It could be master settings overriding anything you're trying to change. Have you tried adding those into your .htaccess?
php_value upload_max_filesize 10M
php_value post_max_size 10M
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
upload_max_filesize = 150M
post_max_size = 150M
Boom, problem solved.