What is the use of ini_set() in PHP?

The ini_set() function in PHP allows you to modify PHP configuration settings at runtime for the current script. This is useful when you need to change settings that are normally defined in the php.ini file, but only for a specific script execution.

Syntax

ini_set(string $option, string|int|float|bool|null $value): string|false

Parameters

option

The configuration option name to modify. Not all php.ini settings can be changed using ini_set() − only those with modes INI_USER or INI_ALL can be modified at runtime.

value

The new value for the configuration option. The value will be converted to the appropriate type based on the setting.

Return Value

Returns the old value on success, or false on failure.

Examples

Example 1: Enabling Error Display

The following example enables error display for debugging ?

<?php
    // Enable error display
    $old_value = ini_set('display_errors', '1');
    echo "Previous display_errors value: " . $old_value . "<br>";
    
    // This will now show errors
    echo "Current display_errors: " . ini_get('display_errors') . "<br>";
    
    // Trigger an error to demonstrate
    echo $undefined_variable;
?>

Example 2: Setting Memory Limit

You can increase the memory limit for memory−intensive operations ?

<?php
    // Check current memory limit
    echo "Current memory limit: " . ini_get('memory_limit') . "<br>";
    
    // Set new memory limit
    $result = ini_set('memory_limit', '256M');
    
    if ($result !== false) {
        echo "Previous memory limit: " . $result . "<br>";
        echo "New memory limit: " . ini_get('memory_limit') . "<br>";
    } else {
        echo "Failed to set memory limit<br>";
    }
?>

Example 3: Multiple Settings

You can modify multiple settings in sequence ?

<?php
    // Set multiple configuration options
    $settings = [
        'max_execution_time' => '300',
        'default_charset' => 'UTF-8',
        'precision' => '10'
    ];
    
    foreach ($settings as $option => $value) {
        $old_value = ini_set($option, $value);
        echo "$option: $old_value ? $value<br>";
    }
?>

Key Points

  • Settings changed with ini_set() only apply to the current script execution
  • Changes are temporary and don't affect the global php.ini file
  • Place ini_set() calls at the beginning of your script for maximum effect
  • Not all PHP settings can be changed at runtime − check the PHP documentation for each setting's changeability
  • Use ini_get() to retrieve current setting values

Conclusion

The ini_set() function provides a flexible way to modify PHP configuration settings on a per−script basis. It's particularly useful for debugging, performance tuning, and handling specific script requirements without modifying the global PHP configuration.

Updated on: 2026-03-15T08:16:12+05:30

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements