2021-11-24 16:20:29 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace MediaWiki\Settings\Config;
|
|
|
|
|
|
2022-04-08 14:18:17 +00:00
|
|
|
use Wikimedia\NormalizedException\NormalizedExceptionTrait;
|
2021-11-24 16:20:29 +00:00
|
|
|
|
|
|
|
|
/**
|
2022-05-01 20:16:40 +00:00
|
|
|
* Settings sink for values to pass to ini_set.
|
|
|
|
|
*
|
|
|
|
|
* @since 1.39
|
2021-11-24 16:20:29 +00:00
|
|
|
*/
|
|
|
|
|
class PhpIniSink {
|
2022-04-08 14:18:17 +00:00
|
|
|
use NormalizedExceptionTrait;
|
|
|
|
|
|
2021-11-24 16:20:29 +00:00
|
|
|
/**
|
2022-05-01 20:16:40 +00:00
|
|
|
* Sets a php runtime configuration value using ini_set().
|
|
|
|
|
* A PHP notice is triggered if setting the value fails.
|
|
|
|
|
*
|
2021-11-24 16:20:29 +00:00
|
|
|
* @param string $option
|
|
|
|
|
* @param string $value
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
public function set( string $option, string $value ): void {
|
|
|
|
|
$result = ini_set( $option, $value );
|
|
|
|
|
|
|
|
|
|
if ( $result === false ) {
|
2022-04-08 14:18:17 +00:00
|
|
|
$msg = $this->getMessageFromNormalizedMessage(
|
2021-11-24 16:20:29 +00:00
|
|
|
'Could not set option: {option} with value: {value} to PHP_INI config.',
|
|
|
|
|
[
|
|
|
|
|
'value' => $value,
|
|
|
|
|
'option' => $option,
|
|
|
|
|
]
|
|
|
|
|
);
|
2022-04-08 14:18:17 +00:00
|
|
|
trigger_error( $msg );
|
2021-11-24 16:20:29 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|