diff --git a/.travis.yml b/.travis.yml index 50ee769a2..44c27230c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -77,6 +77,7 @@ jobs: env: DB=none STATIC_ANALYSIS install: travis_retry composer update --prefer-dist --prefer-stable before_script: + - echo "extension=memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - echo "extension=redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - travis_retry composer require --dev --prefer-dist --prefer-stable phpstan/phpstan:^0.9 script: vendor/bin/phpstan analyse -l 1 -c phpstan.neon lib diff --git a/UPGRADE.md b/UPGRADE.md index 6432d3a17..851e2ddf9 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -21,6 +21,15 @@ Method `Doctrine\ORM\Query\Parser#overwriteInternalDQLFunctionNotAllowed()` was removed because of the choice to allow users to overwrite internal functions, ie `AVG`, `SUM`, `COUNT`, `MIN` and `MAX`. [#6500](https://github.com/doctrine/doctrine2/pull/6500) +## PHP 7.1 is now required + +Doctrine 2.6 now requires PHP 7.1 or newer. + +As a consequence, automatic cache setup in Doctrine\ORM\Tools\Setup::create*Configuration() was changed: +- APCu extension (ext-apcu) will now be used instead of abandoned APC (ext-apc). +- Memcached extension (ext-memcached) will be used instead of obsolete Memcache (ext-memcache). +- XCache support was dropped as it doesn't work with PHP 7. + # Upgrade to 2.5 ## Minor BC BREAK: removed `Doctrine\ORM\Query\SqlWalker#walkCaseExpression()` diff --git a/lib/Doctrine/ORM/Tools/Setup.php b/lib/Doctrine/ORM/Tools/Setup.php index 2e8a8f915..d4974e258 100644 --- a/lib/Doctrine/ORM/Tools/Setup.php +++ b/lib/Doctrine/ORM/Tools/Setup.php @@ -165,19 +165,16 @@ class Setup return new ArrayCache(); } - if (extension_loaded('apc')) { - return new \Doctrine\Common\Cache\ApcCache(); + if (extension_loaded('apcu')) { + return new \Doctrine\Common\Cache\ApcuCache(); } - if (ini_get('xcache.cacher')) { - return new \Doctrine\Common\Cache\XcacheCache(); - } - if (extension_loaded('memcache')) { - $memcache = new \Memcache(); - $memcache->connect('127.0.0.1'); + if (extension_loaded('memcached')) { + $memcache = new \Memcached(); + $memcache->addServer('127.0.0.1', 11211); - $cache = new \Doctrine\Common\Cache\MemcacheCache(); + $cache = new \Doctrine\Common\Cache\MemcachedCache(); $cache->setMemcache($memcache); return $cache; diff --git a/phpstan.neon b/phpstan.neon index 794fad8d8..4046aa165 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,6 +2,3 @@ parameters: earlyTerminatingMethodCalls: Doctrine\ORM\Query\Parser: - syntaxError - ignoreErrors: - # Memcache does not exist on PHP 7 - - '#Instantiated class Memcache not found#'