Can't change PHP (.ini) post/upload limit

I'm trying to change the post_max_size (32MB) and upload_max_filesize (12MB) on my server, but they keep falling back to defaults (8MB and 2MB respectively).

Here are some details of the scenario:
Server: VPS hosted by GoDaddy (\w 3GB Ram and 1.5TB monthly bandwidth)
OS: CentOS 5.4
Apache: 2.0
PHP: 5.2.10

I have ruled out following obvious causes:
1. Apache is restarted after modifying the php.ini
2. There's only one php.ini on the whole server, so I'm 100% confident I'm working with the correct php.ini (other setting I change take effect perfectly)
3. GoDaddy has confirmed that they don't have any restrictions or caps on the php settings and I'm free to modify them.

Has any one faced this issue before? (On GoDaddy or any other server) or can any one shed some light on the situation?

Thanks In Advance.
LVL 18
Sudaraka WijesingheWeb Application ProgrammerAsked:
Who is Participating?
 
medveddConnect With a Mentor Commented:
Add the lines to  .htaccess file in your root directory:

php_value upload_max_filesize 12M
php_value post_max_size 32M

0
 
jar3817Commented:
How are you checking the current values? phpinfo()?
0
 
LinuxGuruLinux Server AdministratorCommented:
Hi,

Please create an info.php file with the following contents.

<?
phpinfo();
?>

Now access the info.php file using browser and check the location of "Loaded configuration File". You need to edit the php.ini file mentioned in the "Loaded configuration File". Also you can check the post_max_size and upload_max_filesize in the info.php. Also it will be helpful if you could take a screen shot of the info.php and attach it here to check this further.
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
Sudaraka WijesingheWeb Application ProgrammerAuthor Commented:
Thanks every one for their participation.

medvedd's suggestion worked.

Before I close this, I would like to discuss why I was able to set the php configuration from .htaccess but not from the php.ini?
Any ideas?
0
 
LinuxGuruLinux Server AdministratorCommented:
PHP can run in the following ways.

    * php run as Apache Module
    * php run as CGI / Fast Cgi
   
php_flag and _php_value can be written in httpd.conf in FastCGI, but not in .htaccess file. if PHP is running as module, you can do anything with .htaccess. So I think your PHP is running as Apache module.
0
 
Sudaraka WijesingheWeb Application ProgrammerAuthor Commented:
yes, it is running as Apache module, but that doesn't explain why I couldn't set the configuration values from php.ini? or is it?
0
 
LinuxGuruConnect With a Mentor Linux Server AdministratorCommented:
Ok, I will explain.

Difference between CGI and apache Module Mode

An Apache module is compiled into the Apache binary, so the PHP interpreter runs in the Apache process, meaning that when Apache spawns a child, each process already contains a binary image of PHP. A CGI is executed as a single process for each request, and must make an exec() or fork() call to the PHP executable, meaning that each request will create a new process of the PHP interpreter. Apache is much more efficient in it's ability to handle requests, and managing resources, making the Apache module slightly faster than the CGI (as well as more stable under load).

CGI Mode on the other hand, is more secure because the server now manages and controls access to the binaries. PHP can now run as your own user rather than the generic Apache user. This means you can put your database passwords in a file readable only by you and your php scripts can still access it! The "Group" and "Other" permissions can now be more restrictive. CGI mode is also claimed to be more flexible in many respects.

If your server is configured to run PHP as an Apache module, then you will have the choice of using either php.ini or Apache .htaccess files, however, if your server runs PHP in CGI mode then you will only have the choice of using php.ini files locally to change settings, as Apache is no longer in complete control of PHP.

Hope everything is clear now. :)
0
 
SimonDardCommented:
You can check phpinfo() to make sure that the php.ini you mention is also the one that gets loaded/parsed.

Other than that, a stray .htaccess, safe mode or module for added security (e.g. Suhosin) could be a cause.
0
 
Sudaraka WijesingheWeb Application ProgrammerAuthor Commented:
Thanks again to everyone for their participation.

My problem was solved using medvedd's suggestion.
And award some points to testez for his informative posts and eagerness to help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.