What is php.ini?

The php.ini file and changing PHP Settings

The php.ini file is a special file for PHP and various flavors such as suPHP (pronounced sue-p-h-p).

The php.ini file is where you declare changes to your PHP settings. You can use the default settings for the server, change specific settings by editing the existing php.ini, or create a new text file and name it php.ini.

Default Settings

The server is already configured with standard settings for PHP that have been selected by our administrators to be the most optimal setting for a majority of our customers. Unless you specifically need to change one or more of the settings, there is no need to create or modify a php.ini file. If the php.ini file does not exist in your account, then your site will use the default PHP settings defined on the server.

Making Changes – Best Practices

It is best if you have a copy of the default php.ini file in your cPanel Home directory (/home/username/) and then make changes to that file. (See below for file location for Plesk.)

Location of custom php.ini

The copy of the default php.ini file would need to be located in the following location:

  • cPanel: /home/username/php.ini

Be sure to replace “username” with your actual cPanel user name.

Making Changes – for cPanel

Instead of having us create and setup the php.ini file for you, you can place your php.ini file in your Home Directory (/home/username/) yourself and then add this code to your primary .htaccess (/home/username/public_html/.htaccess).

Be sure to replace “username” with your actual cPanel user name.

Note: While it is possible to just create a php.ini file with the changes you like added to it, the more advisable practice would be to modify an existing / default php.ini file to suit your needs.
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/username
<Files php.ini>
order allow,deny
deny from all

Some common changes that you must make when moving from non-secure php environment to suPHP:

For example, if your site had these settings in a .htaccess file:

php_flag upload_max_filesize 10M
php_value post_max_size 10M
php_value max_execution_time 30

SuExec users must put them in a php.ini file instead. Here is the proper syntax:


upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 30
NOTE: DCT IT cannot know why you want nor need to change these settings. You are changing this at the advice of your web designer or the developer of your script. DCT IT can only show you where to make the change.