diff --git a/core/install.php b/core/install.php
index 50deb38f8fac647f5a742ca0365c9f0597e9de22..6bdd6f8c3156e3327b49b96354dd5f363a2c27f3 100644
--- a/core/install.php
+++ b/core/install.php
@@ -5,6 +5,8 @@
  * Initiates a browser-based installation of Drupal.
  */
 
+use Drupal\Component\Utility\OpCodeCache;
+
 // Change the directory to the Drupal root.
 chdir('..');
 // Store the Drupal root path.
@@ -28,12 +30,15 @@
   exit;
 }
 
-if (function_exists('opcache_get_status') && opcache_get_status()['opcache_enabled'] && !ini_get('opcache.save_comments')) {
+// Initialize the autoloader.
+$class_loader = require_once $root_path . '/autoload.php';
+
+// If OPCache is in use, ensure opcache.save_comments is enabled.
+if (OpCodeCache::isEnabled() && !ini_get('opcache.save_comments')) {
   print 'Systems with OPcache installed must have <a href="http://php.net/manual/en/opcache.configuration.php#ini.opcache.save-comments">opcache.save_comments</a> enabled.';
   exit();
 }
 
 // Start the installer.
-$class_loader = require_once $root_path . '/autoload.php';
 require_once $root_path . '/core/includes/install.core.inc';
 install_drupal($class_loader);
diff --git a/core/lib/Drupal/Component/Utility/OpCodeCache.php b/core/lib/Drupal/Component/Utility/OpCodeCache.php
index d53874a06f0f12900719d947c7496cb19db40694..efce6f2b00d6a66844f5db4335fd33ff84f781a9 100644
--- a/core/lib/Drupal/Component/Utility/OpCodeCache.php
+++ b/core/lib/Drupal/Component/Utility/OpCodeCache.php
@@ -9,6 +9,16 @@
  */
 class OpCodeCache {
 
+  /**
+   * Checks if OpCodeCache is enabled.
+   *
+   * @return bool
+   *   TRUE if opcache is enabled, FALSE otherwise.
+   */
+  public static function isEnabled() {
+    return extension_loaded('Zend OPcache') && ini_get('opcache.enable');
+  }
+
   /**
    * Invalidates a PHP file from a possibly active opcode cache.
    *
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index b3a0ec1d1c9bdd4e44a6c9db14a4df6392b403f2..ed181f278795dd3c1c53c492c1324513b8de7905 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -7,6 +7,7 @@
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\Environment;
+use Drupal\Component\Utility\OpCodeCache;
 use Drupal\Core\Path\AliasStorage;
 use Drupal\Core\Url;
 use Drupal\Core\Database\Database;
@@ -242,8 +243,7 @@ function system_requirements($phase) {
 
   if ($phase == 'install' || $phase == 'runtime') {
     // Check to see if OPcache is installed.
-    $opcache_enabled = (function_exists('opcache_get_status') && opcache_get_status()['opcache_enabled']);
-    if (!$opcache_enabled) {
+    if (!OpCodeCache::isEnabled()) {
       $requirements['php_opcache'] = array(
         'value' => t('Not enabled'),
         'severity' => REQUIREMENT_WARNING,