Whether you're novice or experienced PHP programmer, PHP.ini configuration is essential. It's an important configuration file that is used to customize behaviour of PHP at runtime. When PHP server starts up it looks for PHP.ini file first to load various values for settings.
The php.ini file is where you can make 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.
Here we are explaining the important settings in php.ini which you can set to configure your PHP setup.
This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.
By this, you can set the error reporting level. The parameter is either an integer representing a bit field, or named constants. PHP 5.3 or later, the default value is E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
When PHP displays or logs an error, it has the capability of formatting the error message as HTML for easier reading. This directive controls whether the error message is formatted as HTML or not.
If enabled, the last error message will always be present in the variable $php_errormsg.
If you’re using Apache, you.ve already set a document root for this server. Set this value here if you.re using safe mode or if you want to enable PHP only on a portion of your site.
This settings determines whether or not PHP will recognize code between <? and ?> tags as PHP source which should be processed as such. It's recommended that you not use the short tag and instead to use the full <?php and ?> tag combination.
The temporary directory used for storing files when doing file upload. Must be writable by whatever user PHP is running as. If not specified PHP will use the system's default. Also if the directory specified here is not writable, PHP falls back to the system default temporary directory.
This determines whether to allow HTTP file uploads or not. The default is On, you can also set it OFF.
It's available since PHP 4.3.0. You can customise this setting to set the maximum time in seconds a script is allowed to parse input data, like POST and GET. Timing begins at the moment PHP is invoked at the server and ends when execution begins.
This feature is available since PHP 5.3.9 which determine how many GET/POST/COOKIE input variables may be accepted.
This is an amazing setting available since PHP 5.3.4. The settings determine maximum number of files that can be uploaded via a single request. The default value for this setting is 20 but you increase maximum number.
You can set maximum size of post data, the default value is 8MB but you can also increase it. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading.
It's an important php.ini setting available since PHP 5.4.0 and enabled by default. Disabling this causes $_POST and $_FILES not to be populated. This can be useful to proxy requests or to process the POST data in a memory efficient fashion.
This is an important setting for development which determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user. It's useful in debugging configuration problems during development. But you leave this setting off on production servers.
You can set your character encoding to "UTF-8" through this setting. It's a default character encoding since PHP 5.6.0.
The php.ini file is where you can make 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.
Here we are explaining the important settings in php.ini which you can set to configure your PHP setup.
max_execution_time
This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.
max_execution_time = 30
error_reporting
By this, you can set the error reporting level. The parameter is either an integer representing a bit field, or named constants. PHP 5.3 or later, the default value is E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
error_reporting = E_ALL
html_errors
When PHP displays or logs an error, it has the capability of formatting the error message as HTML for easier reading. This directive controls whether the error message is formatted as HTML or not.
html_errors = On
track_errors
If enabled, the last error message will always be present in the variable $php_errormsg.
track_errors = On
doc_root
If you’re using Apache, you.ve already set a document root for this server. Set this value here if you.re using safe mode or if you want to enable PHP only on a portion of your site.
doc_root = ''
short_open_tag
This settings determines whether or not PHP will recognize code between <? and ?> tags as PHP source which should be processed as such. It's recommended that you not use the short tag and instead to use the full <?php and ?> tag combination.
short_open_tag = Off
upload_tmp_dir
The temporary directory used for storing files when doing file upload. Must be writable by whatever user PHP is running as. If not specified PHP will use the system's default. Also if the directory specified here is not writable, PHP falls back to the system default temporary directory.
upload_tmp_dir = ''
file_uploads
This determines whether to allow HTTP file uploads or not. The default is On, you can also set it OFF.
file_uploads = On
max_input_time
It's available since PHP 4.3.0. You can customise this setting to set the maximum time in seconds a script is allowed to parse input data, like POST and GET. Timing begins at the moment PHP is invoked at the server and ends when execution begins.
max_input_time = 60
max_input_vars
This feature is available since PHP 5.3.9 which determine how many GET/POST/COOKIE input variables may be accepted.
max_input_vars = 1000
max_file_uploads
This is an amazing setting available since PHP 5.3.4. The settings determine maximum number of files that can be uploaded via a single request. The default value for this setting is 20 but you increase maximum number.
max_file_uploads = 20
post_max_size
You can set maximum size of post data, the default value is 8MB but you can also increase it. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading.
// default value 'post_max_size'
post_max_size = 8M
enable_post_data_reading
It's an important php.ini setting available since PHP 5.4.0 and enabled by default. Disabling this causes $_POST and $_FILES not to be populated. This can be useful to proxy requests or to process the POST data in a memory efficient fashion.
enable_post_data_reading = Off
display_errors
This is an important setting for development which determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user. It's useful in debugging configuration problems during development. But you leave this setting off on production servers.
display_errors = On
default_charset
You can set your character encoding to "UTF-8" through this setting. It's a default character encoding since PHP 5.6.0.
default_charset = "utf-8"