diff --git a/apps/files/admin.php b/apps/files/admin.php
index 786a8edf2a64207fe73bd5ed74eae78424ceb82e..f23f9b52698e65e20df7cd195dd1553b447850da 100644
--- a/apps/files/admin.php
+++ b/apps/files/admin.php
@@ -30,9 +30,8 @@
 OCP\User::checkAdminUser();
 
 $htaccessWorking=(getenv('htaccessWorking')=='true');
-
-$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
-$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
+$upload_max_filesize = OC::$server->getIniWrapper()->getBytes('upload_max_filesize');
+$post_max_size = OC::$server->getIniWrapper()->getBytes('post_max_size');
 $maxUploadFilesize = OCP\Util::humanFileSize(min($upload_max_filesize, $post_max_size));
 if($_POST && OC_Util::isCallRegistered()) {
 	if(isset($_POST['maxUploadSize'])) {
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index 18e9cfe6117b7d591f02c8ac1743f30d76d51d3c..14f56a24b4b5f07dbe110e79246215fe7d102892 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -114,7 +114,7 @@ foreach ($_FILES['files']['error'] as $error) {
 		$errors = array(
 			UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
 			UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
-			. ini_get('upload_max_filesize'),
+			. OC::$server->getIniWrapper()->getNumeric('upload_max_filesize'),
 			UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'),
 			UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
 			UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
diff --git a/core/js/config.php b/core/js/config.php
index 463e334ef26467aaa1fc2ff3ad589bb6c1521daa..8956689e74e5cad3fee2b65de0158ca224fab72e 100644
--- a/core/js/config.php
+++ b/core/js/config.php
@@ -136,7 +136,7 @@ $array = array(
 	"firstDay" => json_encode($l->getFirstWeekDay()) ,
 	"oc_config" => json_encode(
 		array(
-			'session_lifetime'	=> min(\OCP\Config::getSystemValue('session_lifetime', ini_get('session.gc_maxlifetime')), ini_get('session.gc_maxlifetime')),
+			'session_lifetime'	=> min(\OCP\Config::getSystemValue('session_lifetime', OC::$server->getIniWrapper()->getNumeric('session.gc_maxlifetime')), OC::$server->getIniWrapper()->getNumeric('session.gc_maxlifetime')),
 			'session_keepalive'	=> \OCP\Config::getSystemValue('session_keepalive', true),
 			'version'			=> implode('.', OC_Util::getVersion()),
 			'versionstring'		=> OC_Util::getVersionString(),
diff --git a/lib/private/files.php b/lib/private/files.php
index af10f3e1e320fe4d04da2177a7463ed56b146f07..1cda28496cbbe961142693566e48e473f37d5c22 100644
--- a/lib/private/files.php
+++ b/lib/private/files.php
@@ -115,7 +115,7 @@ class OC_Files {
 			self::lockFiles($view, $dir, $files);
 
 			$streamer->sendHeaders($name);
-			$executionTime = intval(ini_get('max_execution_time'));
+			$executionTime = intval(OC::$server->getIniWrapper()->getNumeric('max_execution_time'));
 			set_time_limit(0);
 			if ($getType === self::ZIP_FILES) {
 				foreach ($files as $file) {
diff --git a/lib/private/helper.php b/lib/private/helper.php
index 3cad77e666784d1e4f4c7c7be345d95b81ffd28f..78a567638efb879abb872eac86e51c8213b2a117 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -441,7 +441,7 @@ class OC_Helper {
 		// Default check will be done with $path directories :
 		$dirs = explode(PATH_SEPARATOR, $path);
 		// WARNING : We have to check if open_basedir is enabled :
-		$obd = ini_get('open_basedir');
+		$obd = OC::$server->getIniWrapper()->getString('open_basedir');
 		if ($obd != "none") {
 			$obd_values = explode(PATH_SEPARATOR, $obd);
 			if (count($obd_values) > 0 and $obd_values[0]) {
@@ -701,8 +701,9 @@ class OC_Helper {
 	 * @return int PHP upload file size limit
 	 */
 	public static function uploadLimit() {
-		$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
-		$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
+		$ini = \OC::$server->getIniWrapper();
+		$upload_max_filesize = OCP\Util::computerFileSize($ini->get('upload_max_filesize'));
+		$post_max_size = OCP\Util::computerFileSize($ini->get('post_max_size'));
 		if ((int)$upload_max_filesize === 0 and (int)$post_max_size === 0) {
 			return INF;
 		} elseif ((int)$upload_max_filesize === 0 or (int)$post_max_size === 0) {
@@ -722,12 +723,13 @@ class OC_Helper {
 		if (!function_exists($function_name)) {
 			return false;
 		}
-		$disabled = explode(',', ini_get('disable_functions'));
+		$ini = \OC::$server->getIniWrapper();
+		$disabled = explode(',', $ini->get('disable_functions'));
 		$disabled = array_map('trim', $disabled);
 		if (in_array($function_name, $disabled)) {
 			return false;
 		}
-		$disabled = explode(',', ini_get('suhosin.executor.func.blacklist'));
+		$disabled = explode(',', $ini->get('suhosin.executor.func.blacklist'));
 		$disabled = array_map('trim', $disabled);
 		if (in_array($function_name, $disabled)) {
 			return false;
diff --git a/lib/private/memcache/apc.php b/lib/private/memcache/apc.php
index f768cdc1c6ef33ce8e9bcce5dec2bf09c0c9f339..e38b4bd3a397cc9a8f382e0b59784e4ea8f2d3d1 100644
--- a/lib/private/memcache/apc.php
+++ b/lib/private/memcache/apc.php
@@ -115,9 +115,9 @@ class APC extends Cache implements IMemcache {
 	static public function isAvailable() {
 		if (!extension_loaded('apc')) {
 			return false;
-		} elseif (!ini_get('apc.enabled')) {
+		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enabled')) {
 			return false;
-		} elseif (!ini_get('apc.enable_cli') && \OC::$CLI) {
+		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enable_cli') && \OC::$CLI) {
 			return false;
 		} else {
 			return true;
diff --git a/lib/private/memcache/apcu.php b/lib/private/memcache/apcu.php
index 9a8da2ae60cf1eb23de7b8006b4207718a45c62d..84147233ef09765006a4d8ea2beecc8940cc9fc7 100644
--- a/lib/private/memcache/apcu.php
+++ b/lib/private/memcache/apcu.php
@@ -28,9 +28,9 @@ class APCu extends APC {
 	static public function isAvailable() {
 		if (!extension_loaded('apcu')) {
 			return false;
-		} elseif (!ini_get('apc.enabled')) {
+		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enabled')) {
 			return false;
-		} elseif (!ini_get('apc.enable_cli') && \OC::$CLI) {
+		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enable_cli') && \OC::$CLI) {
 			return false;
 		} elseif (version_compare(phpversion('apc'), '4.0.6') === -1) {
 			return false;
diff --git a/lib/private/memcache/xcache.php b/lib/private/memcache/xcache.php
index a6265ed56225a796f4641bf61fa2eeae11750056..0d2e43a1c18fe1b3e4d36bbcd428f6d3250e2891 100644
--- a/lib/private/memcache/xcache.php
+++ b/lib/private/memcache/xcache.php
@@ -118,13 +118,13 @@ class XCache extends Cache implements IMemcache {
 		if (\OC::$CLI && !getenv('XCACHE_TEST')) {
 			return false;
 		}
-		if (!function_exists('xcache_unset_by_prefix') && ini_get('xcache.admin.enable_auth')) {
+		if (!function_exists('xcache_unset_by_prefix') && \OC::$server->getIniWrapper()->getBool('xcache.admin.enable_auth')) {
 			// We do not want to use XCache if we can not clear it without
 			// using the administration function xcache_clear_cache()
 			// AND administration functions are password-protected.
 			return false;
 		}
-		$var_size = (int)ini_get('xcache.var_size');
+		$var_size = \OC::$server->getIniWrapper()->getNumeric('xcache.var_size');
 		if (!$var_size) {
 			return false;
 		}
diff --git a/lib/private/tempmanager.php b/lib/private/tempmanager.php
index 365d639389fe468964a7d4364d2477598372466e..ac44b76d6830681f615d506f9154821fd55fd33e 100644
--- a/lib/private/tempmanager.php
+++ b/lib/private/tempmanager.php
@@ -213,7 +213,7 @@ class TempManager implements ITempManager {
 		if ($temp = $this->config->getSystemValue('tempdirectory', null)) {
 			$directories[] = $temp;
 		}
-		if ($temp = ini_get('upload_tmp_dir')) {
+		if ($temp = \OC::$server->getIniWrapper()->get('upload_tmp_dir')) {
 			$directories[] = $temp;
 		}
 		if ($temp = getenv('TMP')) {
diff --git a/lib/private/util.php b/lib/private/util.php
index ac42b96de2d798629ab0fc0e0a3e39df580d2499..97b58351eaf4cc74a1a7edc3acb4a76e8128b77e 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -1418,7 +1418,7 @@ class OC_Util {
 		}
 		// XCache
 		if (function_exists('xcache_clear_cache')) {
-			if (ini_get('xcache.admin.enable_auth')) {
+			if (\OC::$server->getIniWrapper()->getBool('xcache.admin.enable_auth')) {
 				\OCP\Util::writeLog('core', 'XCache opcode cache will not be cleared because "xcache.admin.enable_auth" is enabled.', \OCP\Util::WARN);
 			} else {
 				@xcache_clear_cache(XC_TYPE_PHP, 0);