如果您像我一樣認為 ini_restore() 會恢復到最近的設定而不是啟動值,您可以使用這個。
<?php
/**
* 使用自訂的 PHP 設定執行函式。
*
* @param array $settings 一個 <ini 設定名稱, ini 設定值> 的映射。
* @param callable $doThis 使用給定設定執行的程式碼。
* @return mixed 返回給定可呼叫物件所返回的值。
*/
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;
}
?>