PHP7 killed the NC13

Hello, in order to use an app that requested a move from PHP 5,6 to PHP 7, I did the ugrade on the server that runs perfectly a NC13.

But after the PHP upgrade to PHP 70, I have no acces to the NC server…
The NC server just gives an error :

Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

I read in the logs mention about Memcache. Is it the culprit ?
Shall go to PHP 72?
I do not want to move without advice …
Thank you for help !

Here’s the sytem infos :
PHP Version => 7.0.28-1~dotdeb+8.1
System => Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64
Server API => Command Line Interface
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
Nextcloud version 13.0.1.1

The output of your Nextcloud log in Admin > Logging:

root@sd-109709:/var/data/nextcloud# tail nextcloud.log
{"reqId":"IDIDIDIDIDIDIDIDIDIDID","level":3,"time":"2018-03-25T15:02:14+00:00","remoteAddr":"88.8.X.X","user":"--","app":"index","method":"GET","url":"\/favicon.ico","message":"Exception: {\"Exception\":\"OC\\\\HintException\",\"Message\":\"Memcache \\\\OC\\\\Memcache\\\\Redis not available for local cache\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Server.php(503): OC\\\\Memcache\\\\Factory->__construct('785cad3f7f8dfb8...', Object(OC\\\\Log), '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Re...', '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Me...', '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Re...')\\n#1 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/pimple\\\/pimple\\\/src\\\/Pimple\\\/Container.php(113): OC\\\\Server->OC\\\\{closure}(*** sensitive parameters replaced ***)\\n#2 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(116): Pimple\\\\Container->offsetGet('OC\\\\\\\\Memcache\\\\\\\\Fac...')\\n#3 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/ServerContainer.php(132): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->query('OC\\\\\\\\Memcache\\\\\\\\Fac...')\\n#4 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(164): OC\\\\ServerContainer->query('OC\\\\\\\\Memcache\\\\\\\\Fac...')\\n#5 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/pimple\\\/pimple\\\/src\\\/Pimple\\\/Container.php(109): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->OC\\\\AppFramework\\\\Utility\\\\{closure}(*** sensitive parameters replaced ***)\\n#6 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(116): Pimple\\\\Container->offsetGet('MemCacheFactory')\\n#7 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/ServerContainer.php(132): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->query('MemCacheFactory')\\n#8 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Server.php(1492): OC\\\\ServerContainer->query('MemCacheFactory')\\n#9 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Server.php(691): OC\\\\Server->getMemCacheFactory()\\n#10 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/pimple\\\/pimple\\\/src\\\/Pimple\\\/Container.php(113): OC\\\\Server->OC\\\\{closure}(*** sensitive parameters replaced ***)\\n#11 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(116): Pimple\\\\Container->offsetGet('OC\\\\\\\\App\\\\\\\\AppManag...')\\n#12 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/ServerContainer.php(132): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->query('OC\\\\\\\\App\\\\\\\\AppManag...')\\n#13 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(164): OC\\\\ServerContainer->query('OC\\\\\\\\App\\\\\\\\AppManag...')\\n#14 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/pimple\\\/pimple\\\/src\\\/Pimple\\\/Container.php(109): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->OC\\\\AppFramework\\\\Utility\\\\{closure}(*** sensitive parameters replaced ***)\\n#15 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(116): Pimple\\\\Container->offsetGet('AppManager')\\n#16 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/ServerContainer.php(132): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->query('AppManager')\\n#17 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Server.php(1684): OC\\\\ServerContainer->query('AppManager')\\n#18 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/legacy\\\/app.php(332): OC\\\\Server->getAppManager()\\n#19 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/legacy\\\/app.php(113): OC_App::getEnabledApps()\\n#20 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/base.php(661): OC_App::loadApps(Array)\\n#21 \\\/var\\\/www\\\/nextcloud\\\/lib\\\/base.php(1080): OC::init()\\n#22 \\\/var\\\/www\\\/nextcloud\\\/index.php(35): require_once('\\\/var\\\/www\\\/nextcl...')\\n#23 {main}\",\"File\":\"\\\/var\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Memcache\\\/Factory.php\",\"Line\":97,\"Hint\":\"Is the matching PHP module installed and enabled?\"}","userAgent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit\/604.5.6 (KHTML, like Gecko) Version\/11.0.3 Safari\/604.5.6","version":"13.0.1.1"}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'iid',
  'passwordsalt' => 'pws',
  'secret' => 'secret'
  'trusted_domains' =>
  array (
    0 => 'y.com',
    1 => 'y.com',
  ),
  'datadirectory' => '/var/data/nextcloud/',
  'overwrite.cli.url' => 'http://x.com',
  'dbtype' => 'mysql',
  'version' => '13.0.1.1',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'x',
  'dbpassword' => 'x',
  'logtimezone' => 'UTC',
  'installed' => true,
  'memcache.distributed' => '\\OC\\Memcache\\Memcached',
  'memcached_servers' =>
  array (
    0 =>
    array (
      0 => 'localhost',
      1 => 11211,
    ),
  ),
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'mail_from_address' => 'x',
  'mail_smtpmode' => 'smtp',
  'mail_domain' => 'x',
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 3,
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtpname' => 'x',

The output of your Apache/nginx/system log in /var/log/____:

tail error.log
[Sun Mar 25 06:25:18.627945 2018] [mpm_prefork:notice] [pid 32664] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t configured -- resuming normal operations
[Sun Mar 25 06:25:18.627968 2018] [core:notice] [pid 32664] AH00094: Command line: '/usr/sbin/apache2'

First disable memcache in your config.php.
And see if you have a blank page or an error message.

If it works great. Look on the nextcloud doc for enabling memcaching with php 7 or on Tuto on the web.

Thank you very much Nemskiller,

I follow your advice : I did comment the Memcache lines in the config.php
This gave back working NC13 !

So now, I will try enabling Memcache with php 7 :wink: