How to update your local php settings
PHP is a scripting language used primarily on the web. PHP is highly customizable and has many settings that our users can modify themselves.
How to view your current PHP settings
To view your current PHP settings, create a PHPinfo page. If you're not sure how to do this, please see How can I view my PHP settings using a PHPinfo page ?
The steps in updating the values listed in your PHP info page depend on how PHP is setup on your particular server. In general, PHP runs on our servers as either:
- Apache module
- CGI Module
To find out how PHP is configured on your server, create a PHP info page (via the above instructions) and look at the "Server API"' value. If the "Server API" is "CGI", then PHP is running as "CGI module". If "Apache" is listed, then your server is running PHP as an "Apache module".
Server API: Apache
If your server runs PHP as an "Apache module", you can update your PHP settings via a .htaccess file. A .htaccess file is a configuration file you can create and use to update many server settings, including PHP settings. The basic syntax to use in your .htaccess file for updating PHP settings is:
php_value Directive value
For example, if you wanted to update the max_input_time from 60 seconds to 120 seconds, add the following to your .htaccess file:
php_value max_input_time 120
After making this change, refresh your PHP info page, and you should see the changes. If you receive a 500 error, please double check the syntax you used as you may have made a misspelling.
If you don't have a .htaccess file, you can simply create a new file named .htaccess. As the .htaccess file begins with a dot (.), it is considered a hidden file. If you are using the cPanel's File Manager, please be sure to select the option to Show Hidden Files (dotfiles), otherwise you will not be able to see your .htaccess file. If you do not see this prompt when opening your File Manager, click the, "reset all interface settings" link at the bottom of your cPanel to reset your File Manager settings.
Server API: CGI
If your server runs PHP as a CGI module, you can update your local php.ini file in order to make modifications to your PHP setup. php.ini is a PHP configuration file with a list of PHP directives and their values. In the above example, we modified the max_input_time value. If you open your php.ini file and search for max_input_time, you should see something similar to:
; Resource Limits ;
max_execution_time = 30
max_input_time = 60
memory_limit = 256M
upload_max_filesize = 10M
To change the max_input_time from 30 seconds to 120, for example, simply change 30 to 120 and save the file. Refresh your PHP info page, and you should see the changes.
Increasing PHP memory in the php.ini
A common issue when using free open source software or other PHP intensive programs is the "exhausted memory" error. If you have a PHP memory error on your site, you can increase the memory limit PHP uses for the scripts. To learn how to change the memory limit in your php.ini, please see the following link.
Modifying the PHP.INI file
Here is a quick step-by-step tutorial on editing the PHP.INI file.
- Login to the cPanel.
- Find the File Manager in File section of the Cpanel. Review our tutorial on using the Code Editor within the File manager if you're looking on information how to use it.
- Navigate to the directory where you will either save or edit the PHP.INI file and then select the file and use the Code Editor. To open the file, you can click on it to select the file and then click on the Code Editor icon in the menu bar of the File Manager. You can also right-click with your mouse and select Code Editor from the menu that appears.
- Edit the section of the PHP.INI that you wish to change.
- Click on SAVE CHANGES in the top right hand corner in order to save your modifications or additions to the file.
Common Problems when Updating your php.ini file
I don't have a php.ini file!
Only users running on a server with PHP loaded as a "CGI module" will have a php.ini file. The php.ini file by default will be located at public_html/php.ini. If you do not see a file named php.ini in your public_html, please contact our Support Department and request that we create one for you.
I made changes to the php.ini file, however I do not see the changes!
The php.ini file is not recursive. Updating your php.ini values in public_html/php.ini will not affect PHP files in subfolders of your public_html, such as public_html/staff. To correct this problem, you can make your php.ini file recursive so that it affects all sub folders. More help on this can be found in How can I make my php.ini file recursive?
Considering a VPS or Dedicated Server?
With a VPS or dedicated server, a site owner can truly customize the server to their exact specification. If you are on a Shared Hosting account, and are thinking about upgrading from to a VPS or dedicated server, click here to read more about a VPS vs dedicated server.
We value your feedback!
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
new! - Enter your name and email address above and we will post your feedback in the comments on this page!
2013-05-15 10:40 am
I just wanted to thank you for this. I have spent 2 hours combing through blog-spam and other crap on the internet until i found this. This was hands down one of the best tutorials on anything i have seen in a long time. It worked perfectly the first time with no issues.
2014-04-22 1:53 am
Thanks for this article. It quite clear.
But, how do you change the max input vars when using a CGI server?
There is no max_input_vars in the local php.ini.
Thanks in advance.
2014-04-22 7:49 am
While it may not already be located in your local file, you may always add the line which will change what is defined there. The php.ini variables are still the same regardless of how you are running PHP.
2014-09-03 1:07 pm
Thank you for your question. To change the variable, just adjust modify the number following the rule you want to change. For example:
To increase the memory_limit in this case, just change the number to what you need: