diff --git a/setup/pub/magento/setup/readiness-check.js b/setup/pub/magento/setup/readiness-check.js
index 2c46b35064292264e2a117a23a22d0e4bda4b4f5..d7c0eb243e2fccce768b7eec41e4b5b414ca7584 100644
--- a/setup/pub/magento/setup/readiness-check.js
+++ b/setup/pub/magento/setup/readiness-check.js
@@ -32,6 +32,11 @@ angular.module('readiness-check', [])
             processed: false,
             expanded: false
         };
+        $scope.rawpost = {
+            visible: false,
+            processed: false,
+            expanded: false
+        };
         $scope.extensions = {
             visible: false,
             processed: false,
@@ -57,6 +62,19 @@ angular.module('readiness-check', [])
                     $scope.stopProgress();
                 }
             },
+            'php-rawpost': {
+                url:'index.php/environment/php-rawpost',
+                show: function() {
+                    $scope.startProgress();
+                    $scope.rawpost.visible = true;
+                },
+                process: function(data) {
+                    $scope.rawpost.processed = true;
+                    angular.extend($scope.rawpost, data);
+                    $scope.updateOnProcessed($scope.rawpost.responseType);
+                    $scope.stopProgress();
+                }
+            },
             'php-extensions': {
                 url:'index.php/environment/php-extensions',
                 show: function() {
diff --git a/setup/src/Magento/Setup/Controller/Environment.php b/setup/src/Magento/Setup/Controller/Environment.php
index 07dc89aff7db5eec32e2e8ae73f7bffc7f089f2c..066c58d914c86617da39fb79d720f74fb5902835 100644
--- a/setup/src/Magento/Setup/Controller/Environment.php
+++ b/setup/src/Magento/Setup/Controller/Environment.php
@@ -87,6 +87,29 @@ class Environment extends AbstractActionController
         return new JsonModel($data);
     }
 
+    /**
+     * Checks if PHP version >= 5.6.0 and always_populate_raw_post_data is set
+     *
+     * @return JsonModel
+     */
+    public function phpRawpostAction()
+    {
+        $iniSetting = ini_get('always_populate_raw_post_data');
+        $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS;
+        if (version_compare(PHP_VERSION, '5.6.0') >= 0 && (int)$iniSetting > -1) {
+            $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR;
+        }
+        $data = [
+            'responseType' => $responseType,
+            'data' => [
+                'version' => PHP_VERSION,
+                'ini' => $iniSetting
+            ]
+        ];
+
+        return new JsonModel($data);
+    }
+
     /**
      * Verifies php verifications
      *
diff --git a/setup/view/magento/setup/readiness-check/progress.phtml b/setup/view/magento/setup/readiness-check/progress.phtml
index 92578438d2679326c642645e45c69543e8b53a62..0e2e9175f72be139fb98977bce52f74d1f632639 100644
--- a/setup/view/magento/setup/readiness-check/progress.phtml
+++ b/setup/view/magento/setup/readiness-check/progress.phtml
@@ -88,6 +88,59 @@
 
 </div>
 
+<div id="php-rawpost" class="rediness-check-item" ng-show="rawpost.visible">
+
+    <h3 class="readiness-check-title" ng-hide="version.processed">
+        Checking PHP Version and PHP Raw Post Data Settings...
+    </h3>
+
+    <div ng-show="rawpost.processed" ng-switch="rawpost.responseType">
+
+        <div ng-switch-when="success" ng-init="updateOnSuccess(rawpost)">
+
+            <span class="readiness-check-icon icon-success-round"></span>
+
+            <div class="readiness-check-content">
+                <h3 class="readiness-check-title">PHP Raw Post Data Check</h3>
+                <p>
+                    You are not populating raw_post_data or your PHP version is less than 5.6.0
+                </p>
+            </div>
+
+        </div>
+
+        <div class="readiness-check-item" ng-switch-default ng-init="updateOnError(rawpost)">
+
+            <div class="rediness-check-side">
+                <p class="side-title">Need Help?</p>
+                <a href="http://www.php.net/docs.php" target="_blank">PHP Documentation</a>
+            </div>
+
+            <span class="readiness-check-icon icon-failed-round"></span>
+
+            <div class="readiness-check-content">
+                <h3 class="readiness-check-title">PHP Raw Post Data Check</h3>
+                <p>
+                    Your PHP Version is {{rawpost.data.version}}<br />
+                    always_populate_raw_post_data = {{rawpost.data.ini}}.
+                    <a href="#php-rawpost" ng-click="updateOnExpand(rawpost)">
+                        <span ng-hide="rawpost.expanded">Show detail</span>
+                        <span ng-show="rawpost.expanded">Hide detail</span>
+                    </a>
+                </p>
+                <p ng-show="rawpost.expanded">
+                    $HTTP_RAW_POST_DATA is deprecated from PHP 5.6 onwards and will stop the installer from running,
+                    please open your php.ini file and set always_populate_raw_post_data to -1 (uncomment if necessary)
+                </p>
+                <p ng-show="rawpost.expanded">If you need more help please call your hosting provider.</p>
+            </div>
+
+        </div>
+
+    </div>
+
+</div>
+
 <div id="php-extensions" class="rediness-check-item" ng-show="extensions.visible">
 
     <h3 ng-hide="extensions.processed" class="readiness-check-title">