[TASK] Remove WinCache, XCache opcode support 98/46898/3
authorAlexander Opitz <opitz.alexander@googlemail.com>
Fri, 26 Feb 2016 08:34:40 +0000 (09:34 +0100)
committerFrank Naegler <frank.naegler@typo3.org>
Fri, 26 Feb 2016 13:02:00 +0000 (14:02 +0100)
Xcache do not support PHP7 and WinCache removed opcode cache handling
in first PHP7 compatible version. So we can remove this support.

Resolves: #72415
Releases: master
Change-Id: I1f5e855e94ca8e7a941425113d1473180abe5ed0
Reviewed-on: https://review.typo3.org/46898
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
typo3/sysext/core/Classes/Service/OpcodeCacheService.php

index e6df3a6..d318eee 100644 (file)
@@ -18,7 +18,7 @@ namespace TYPO3\CMS\Core\Service;
  * Class with helper functions for clearing the PHP opcache.
  * It auto detects the opcache system and invalidates/resets it.
  * http://forge.typo3.org/issues/55252
- * Supported opcaches are: OPcache >= 7.0 (PHP 5.5), WinCache, XCache >= 3.0.1
+ * Supported opcaches are: OPcache >= 7.0 (PHP 5.5)
  */
 class OpcodeCacheService
 {
@@ -29,8 +29,6 @@ class OpcodeCacheService
      */
     public function getAllActive()
     {
-        $xcVersion = phpversion('xcache');
-
         $supportedCaches = array(
             // The ZendOpcache aka OPcache since PHP 5.5
             // http://php.net/manual/de/book.opcache.php
@@ -39,49 +37,19 @@ class OpcodeCacheService
                 'version' => phpversion('Zend OPcache'),
                 'canReset' => true, // opcache_reset() ... it seems that it doesn't reset for current run.
                 // From documentation this function exists since first version (7.0.0) but from Changelog
-                // this function exists since 7.0.2
+                // this function exists since OPcache 7.0.2
                 // http://pecl.php.net/package-changelog.php?package=ZendOpcache&release=7.0.2
-                'canInvalidate' => function_exists('opcache_invalidate'),
+                // PHP 7.0 onward is delivered minimum OPcache 7.0.6-dev
+                'canInvalidate' => true,
                 'error' => false,
                 'clearCallback' => function ($fileAbsPath) {
-                    if ($fileAbsPath !== null && function_exists('opcache_invalidate')) {
+                    if ($fileAbsPath !== null) {
                         opcache_invalidate($fileAbsPath);
                     } else {
                         opcache_reset();
                     }
                 }
             ),
-
-            // http://www.php.net/manual/de/book.wincache.php
-            'WinCache' => array(
-                'active' => extension_loaded('wincache') && ini_get('wincache.ocenabled') === '1',
-                'version' => phpversion('wincache'),
-                'canReset' => true,
-                'canInvalidate' => true, // wincache_refresh_if_changed()
-                'error' => false,
-                'clearCallback' => function ($fileAbsPath) {
-                    if ($fileAbsPath !== null) {
-                        wincache_refresh_if_changed(array($fileAbsPath));
-                    } else {
-                        // No argument means refreshing all.
-                        wincache_refresh_if_changed();
-                    }
-                }
-            ),
-
-            // http://xcache.lighttpd.net/
-            'XCache' => array(
-                'active' => extension_loaded('xcache'),
-                'version' => $xcVersion,
-                'canReset' => !ini_get('xcache.admin.enable_auth'), // xcache_clear_cache()
-                'canInvalidate' => false,
-                'error' => false,
-                'clearCallback' => function ($fileAbsPath) {
-                    if (!ini_get('xcache.admin.enable_auth')) {
-                        xcache_clear_cache(XC_TYPE_PHP);
-                    }
-                }
-            ),
         );
 
         $activeCaches = array();