ConFoo 2025

ini_restore

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_restore恢复配置选项的值

说明

ini_restore(string $option): void

恢复指定的配置选项到它的原始值。

参数

option

配置选项名称。

返回值

没有返回值。

示例

示例 #1 ini_restore() 示例

<?php
$setting
= 'html_errors';

echo
'Current value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo
'New value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo
'Original value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL;
?>

以上示例会输出:

Current value for 'html_errors': 1
New value for 'html_errors': 0
Original value for 'html_errors': 1

参见

添加备注

用户贡献的备注 1 note

up
6
Anonymous
8 years ago
If like me you thought ini_restore() would restore to the most recent setting rather than the startup value, you could use this.

<?php

/**
* Executes a function using a custom PHP configuration.
*
* @param array $settings A map<ini setting name, ini setting value>.
* @param callable $doThis The code to execute using the given settings.
* @return mixed Returns the value returned by the given callable.
*/
function ini_using_do(array $settings, callable $doThis){
foreach(
$settings as $name => $value){
$previousSettings[$name] = ini_set($name, $value);
}
$returnValue = $doThis();
if(isset(
$previousSettings)){
foreach(
$previousSettings as $name => $value){
ini_set($name, $value);
}
}
return
$returnValue;
}

?>
To Top