diff --git a/.htaccess b/.htaccess index af7e961379..962e969d59 100644 --- a/.htaccess +++ b/.htaccess @@ -12,6 +12,7 @@ php_value upload_max_filesize 513M php_value post_max_size 513M php_value memory_limit 512M php_value mbstring.func_overload 0 +php_value always_populate_raw_post_data -1 SetEnv htaccessWorking true diff --git a/lib/private/util.php b/lib/private/util.php index 3b943f046b..a4d3b558ce 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -628,6 +628,21 @@ class OC_Util { ); $webServerRestart = true; } + + /** + * PHP 5.6 ships with a PHP setting which throws notices by default for a + * lot of endpoints. Thus we need to ensure that the value is set to -1 + * + * @link https://github.com/owncloud/core/issues/13592 + */ + if(version_compare(phpversion(), '5.6.0', '>=') && + \OC::$server->getIniWrapper()->getNumeric('always_populate_raw_post_data') !== -1) { + $errors[] = array( + 'error' => 'PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code.', + 'hint' => 'To fix this issue set always_populate_raw_post_data to -1 in your php.ini' + ); + } + if (!self::isAnnotationsWorking()) { $errors[] = array( 'error' => 'PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.',