Nextcloud plus accessible depuis migration vers Debian 10.0

Bonjour à vous,

J’essaie de trouver depuis quelques jours une solution à mon problème.

Donc depuis la migration de mon PC (qui héberge un nextcloud) vers Debian 10 (grave erreur avec le recul!!) mon nextcloud ne fonctionne plus.

l’adresse: nextcloud perso avec un `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.`

J’ai pourtant accès à phpMyAdmin et à MariaDB dans un terminal.

voici les dernières lignes du fichier nextcloud.log

{“reqId”:“7emoFtbk0aBUYqmg45vb”,“level”:3,“time”:“2019-07-21T14:53:46+02:00”,“remoteAddr”:“192.168.1.1”,“user”:"–",“app”:“core”,“method”:“GET”,“url”:"\ /favicon.ico",“message”:{“Exception”:“OC\HintException”,“Message”:“Memcache \OC\Memcache\APCu not available for local cache”,“Code”:0,“Trace”:[{“fil e”:"/var/www/cloud/lib/private/Server.php",“line”:511,“function”:"__construct",“class”:“OC\Memcache\Factory”,“type”:"->",“args”:[“0ec533978bc880 09c72ea00122604752”,{“class”:“OC\Log”},"\OC\Memcache\APCu","\OC\Memcache\APCu",null]},{“file”:"/var/www/cloud/3rdparty/pimple/pimple/s rc/Pimple/Container.php",“line”:118,“function”:“OC\{closure}”,“class”:“OC\Server”,“type”:"->",“args”:["*** sensitive parameters replaced "]},{“fi le”:"/var/www/cloud/lib/private/AppFramework/Utility/SimpleContainer.php",“line”:117,“function”:“offsetGet”,“class”:“Pimple\Container”,“type”:" ->",“args”:[“OC\Memcache\Factory”]},{“file”:"/var/www/cloud/lib/private/ServerContainer.php",“line”:132,“function”:“query”,“class”:“OC\AppFrame work\Utility\SimpleContainer”,“type”:"->",“args”:[“OC\Memcache\Factory”]},{“file”:"/var/www/cloud/lib/private/Server.php",“line”:986,“function “:“query”,“class”:“OC\ServerContainer”,“type”:”->”,“args”:[“OC\Memcache\Factory”]},{“file”:"/var/www/cloud/3rdparty/pimple/pimple/src/Pimple\ /Container.php",“line”:118,“function”:“OC\{closure}”,“class”:“OC\Server”,“type”:"->",“args”:[" sensitive parameters replaced ***"]},{“file”:"/var\ /www/cloud/lib/private/AppFramework/Utility/SimpleContainer.php",“line”:117,“function”:“offsetGet”,“class”:“Pimple\Container”,“type”:"->",“args”: [“OC\Template\JSCombiner”]},{“file”:"/var/www/cloud/lib/private/ServerContainer.php",“line”:132,“function”:“query”,“class”:“OC\AppFramework\Ut ility\SimpleContainer”,“type”:"->",“args”:[“OC\Template\JSCombiner”]},{“file”:"/var/www/cloud/lib/private/TemplateLayout.php",“line”:326,“funct ion”:“query”,“class”:“OC\ServerContainer”,“type”:"->",“args”:[“OC\Template\JSCombiner”]},{“file”:"/var/www/cloud/lib/private/TemplateLayout.php “,“line”:160,“function”:“findJavascriptFiles”,“class”:“OC\TemplateLayout”,“type”:”::",“args”:[[“vendor/core”,“js/merged-template-prepend”,“search/js /search”,“core/l10n/en”,“search/l10n/en”,“search/js/searchprovider”,“js/jquery-ui-fixes”,“js/files/fileinfo”,“js/files/client”,“js/contacts menu”,“js/contactsmenu_templates”]]},{“file”:"/var/www/cloud/lib/private/legacy/template.php",“line”:211,“function”:"__construct",“class”:“OC\T emplateLayout”,“type”:"->",“args”:[“error”,""]},{“file”:"/var/www/cloud/lib/private/Template/Base.php",“line”:132,“function”:“fetchPage”,“class”: “OC_Template”,“type”:"->",“args”:[]},{“file”:"/var/www/cloud/lib/private/legacy/template.php",“line”:360,“function”:“printPage”,“class”:“OC\Temp late\Base”,“type”:"->",“args”:[]},{“file”:"/var/www/cloud/index.php",“line”:61,“function”:“printExceptionErrorPage”,“class”:“OC_Template”,“type”:": :",“args”:[{“class”:“OC\HintException”},500]}],“File”:"/var/www/cloud/lib/private/Memcache/Factory.php",“Line”:99,“Hint”:“Is the matching PH P module installed and enabled?”,“CustomMessage”:"–"},“userAgent”:“Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch rome/75.0.3770.142 Safari/537.36”,“version”:“15.0.7.0”}

Il manque des modules pour php, ici c’est pour apcu. Tu trouves une liste avec toutes les modules nécessaires:
https://docs.nextcloud.com/server/16/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

merci, j’ai refais une passer sur les modules php à installer sur Debian et je l’ai déjà installés.

voilà ce que j’ai installé concernant PHP :
composer/stable,now 1.8.4-1 all [installé]
jsonlint/stable,now 1.7.1-1 all [installé, automatique]
libapache2-mod-php/stable,now 2:7.3+69 all [installé]
libapache2-mod-php5filter/oldoldstable,now 5.6.33+dfsg-0+deb8u1 amd64 [installé]
libapache2-mod-php7.0/now 7.0.33-0+deb9u3 amd64 [installé, local]
libapache2-mod-php7.3/stable,now 7.3.4-2 amd64 [installé, automatique]
php/stable,now 2:7.3+69 all [installé]
php-apcu/stable,now 5.1.17+4.0.11-1 amd64 [installé]
php-apcu-bc/stable,now 1.0.4-4 amd64 [installé, automatique]
php-bcmath/stable,now 2:7.3+69 all [installé]
php-cgi/stable,now 2:7.3+69 all [installé]
php-cli/stable,now 2:7.3+69 all [installé]
php-common/stable,now 2:69 all [installé, automatique]
php-composer-ca-bundle/stable,now 1.1.4-1 all [installé, automatique]
php-composer-semver/stable,now 1.4.2-1 all [installé, automatique]
php-composer-spdx-licenses/stable,now 1.5.0-1 all [installé, automatique]
php-composer-xdebug-handler/stable,now 1.3.2-1 all [installé, automatique]
php-curl/stable,now 2:7.3+69 all [installé]
php-dompdf/stable,now 0.6.2+dfsg-3 all [installé]
php-font-lib/stable,now 0.3.1+dfsg-3 all [installé, automatique]
php-gd/stable,now 2:7.3+69 all [installé]
php-gettext/stable,now 1.0.12-0.1 all [installé]
php-imagick/stable,now 3.4.3-4.1 amd64 [installé]
php-json/stable,now 2:7.3+69 all [installé]
php-json-schema/stable,now 5.2.8-1 all [installé, automatique]
php-mbstring/stable,now 2:7.3+69 all [installé]
php-mysql/stable,now 2:7.3+69 all [installé]
php-pear/stable,now 1:1.10.6+submodules+notgz-1.1 all [installé, automatique]
php-php-gettext/stable,now 1.0.12-0.1 all [installé, automatique]
php-psr-log/stable,now 1.1.0-1 all [installé, automatique]
php-symfony-console/stable,now 3.4.22+dfsg-2 all [installé, automatique]
php-symfony-debug/stable,now 3.4.22+dfsg-2 all [installé, automatique]
php-symfony-filesystem/stable,now 3.4.22+dfsg-2 all [installé, automatique]
php-symfony-finder/stable,now 3.4.22+dfsg-2 all [installé, automatique]
php-symfony-polyfill-iconv/now 1.2.0-1 all [installé, local]
php-symfony-process/stable,now 3.4.22+dfsg-2 all [installé, automatique]
php-tidy/stable,now 2:7.3+69 all [installé]
php-xml/stable,now 2:7.3+69 all [installé]
php-zip/stable,now 2:7.3+69 all [installé]
php5-apcu/oldoldstable,now 4.0.7-1 amd64 [installé]
php5-cli/oldoldstable,now 5.6.33+dfsg-0+deb8u1 amd64 [installé, automatique]
php5-common/oldoldstable,now 5.6.33+dfsg-0+deb8u1 amd64 [installé, automatique]
php5-json/oldoldstable,now 1.3.6-1 amd64 [installé, automatique]
php5-readline/oldoldstable,now 5.6.33+dfsg-0+deb8u1 amd64 [installé, automatique]
php7.0/now 7.0.33-0+deb9u3 all [installé, local]
php7.0-cli/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-common/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-gd/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-intl/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-json/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-mbstring/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-mcrypt/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-mysql/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-opcache/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-readline/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-xml/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.0-zip/now 7.0.33-0+deb9u3 amd64 [installé, local]
php7.3/stable,now 7.3.4-2 all [installé, automatique]
php7.3-bcmath/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-cgi/stable,now 7.3.4-2 amd64 [installé]
php7.3-cli/stable,now 7.3.4-2 amd64 [installé]
php7.3-common/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-curl/stable,now 7.3.4-2 amd64 [installé]
php7.3-fpm/stable,now 7.3.4-2 amd64 [installé]
php7.3-gd/stable,now 7.3.4-2 amd64 [installé]
php7.3-intl/stable,now 7.3.4-2 amd64 [installé]
php7.3-json/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-mbstring/stable,now 7.3.4-2 amd64 [installé]
php7.3-mysql/stable,now 7.3.4-2 amd64 [installé]
php7.3-opcache/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-readline/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-tidy/stable,now 7.3.4-2 amd64 [installé, automatique]
php7.3-xml/stable,now 7.3.4-2 amd64 [installé]
php7.3-zip/stable,now 7.3.4-2 amd64 [installé]

Surprenant, car en effet les messages sont très explicite :

Memcache\OC\Memcache\APCu not available for local cache

et

Is the matching PHP module installed and enabled?

Peux-tu exposer un phpinfo ou vérifier manuellement que le module est bel et bien activé pour la config PHP utilisée par php-fpm ?

voici mon phpinfo()

phpinfo

Clairement APCu n’y est pas listé. Tu sembles avoir plusieurs versions de PHP sur ta machine, mais le paquet php-apcu concerne bien la version 7.0, que tu utilises sur ton Apache. Par contre, il te manque peut-être une activation de cette extension ; de mémoire ça doit se faire par un truc du genre :

sudo phpenmod apcu
sudo systemctl restart apache2.service

voici le résultat de la commande :

WARNING: Module apcu ini file doesn’t exist under /etc/php/7.0/mods-available
WARNING: Module apcu ini file doesn’t exist under /etc/php/7.0/mods-available

je comprends du coup, il est pourtant installé ?

De plus en plus bizarre… Tu peux lister les fichiers installés par ton package “php-apcu” avec la commande dpkg -L php-apcu. Au pire, tu peux désinstaller/réinstaller ce package, car il a l’air corrompu :confused:

voici le résultat de la commande

/.
/etc
/etc/php
/etc/php/7.3
/etc/php/7.3/mods-available
/etc/php/7.3/mods-available/apcu.ini
/usr
/usr/include
/usr/include/php
/usr/include/php/20180731
/usr/include/php/20180731/ext
/usr/include/php/20180731/ext/apcu
/usr/include/php/20180731/ext/apcu/apc.h
/usr/include/php/20180731/ext/apcu/apc_api.h
/usr/include/php/20180731/ext/apcu/apc_arginfo.h
/usr/include/php/20180731/ext/apcu/apc_cache.h
/usr/include/php/20180731/ext/apcu/apc_cache_api.h
/usr/include/php/20180731/ext/apcu/apc_globals.h
/usr/include/php/20180731/ext/apcu/apc_iterator.h
/usr/include/php/20180731/ext/apcu/apc_lock.h
/usr/include/php/20180731/ext/apcu/apc_lock_api.h
/usr/include/php/20180731/ext/apcu/apc_mutex.h
/usr/include/php/20180731/ext/apcu/apc_serializer.h
/usr/include/php/20180731/ext/apcu/apc_sma.h
/usr/include/php/20180731/ext/apcu/apc_sma_api.h
/usr/include/php/20180731/ext/apcu/apc_stack.h
/usr/include/php/20180731/ext/apcu/php_apc.h
/usr/lib
/usr/lib/php
/usr/lib/php/20180731
/usr/lib/php/20180731/apcu.so
/usr/share
/usr/share/doc
/usr/share/doc/php-apcu
/usr/share/doc/php-apcu/README.Debian
/usr/share/doc/php-apcu/changelog.Debian.gz
/usr/share/doc/php-apcu/copyright

par contre j’ai ces paquets php apcu d’installer :

php-apcu/stable,now 5.1.17+4.0.11-1 amd64 [installé]
APC User Cache for PHP

php-apcu-bc/stable,now 1.0.4-4 amd64 [installé, automatique]
APCu Backwards Compatibility Module

php5-apcu/oldoldstable,now 4.0.7-1 amd64 [installé]
APC User Cache for PHP 5

je désinstalle le tout mais réinstalle lequel du coup ?

Ah ben oui bien sûr, j’aurais dû comprendre direct :

  • Tu étais sur une Debian 9, avec donc PHP 7.0
  • Tu passes maintenant sur Debian 10, avec PHP 7.3
  • Le paquet php-apcu est donc maintenant celui de PHP 7.3
  • Cependant ton Nextcloud utilise toujours ton PHP 7.0, et c’est ça qu’il faut changer :smile:

La solution à ton problème sera donc probablement :

  1. Changement de config Apache pour utiliser le module php 7.3
  2. Redémarrage Apache
  3. Désinstallation de PHP 7.0

trop de php tue le php :slight_smile:

par contre, comment faire le point n° 1 stp ? je ne sais pas du tout, il y beaucoup de fichiers dans /etc/apache2…est-ce là ?

Tu as même installé de vieux truc de php5. Tu peux même cherché tous les packages de oldoldstable.

“cherché” ? je ne comprends pas ta réponse tflidd

Tu peux chercher ces vieux packages et les effacer.

Merci, je vais nettoyer les paquets php5* déjà

c’est fait, j’ai cleané les paquets php5*

apt purge php5-apcu php5-cli php5-common php5-json php5-readline libapache2-mod-php5filter

comment puis je continuer à présent du coup ?

@David-Guillot: peux tu m’aider sur cette partie de ta réponse stp?

je me demande d’ailleurs si nextcloud, même dans sa dernière verion, supporte Debian 10?! cela n’est pas indiqué sur les “systems requirements” même pour la version 16.0

c’est bon j’ai résolu :heart_eyes::heart_eyes::heart_eyes::heart_eyes::heart_eyes:

merci à vous :slight_smile:

la solution :
update-alternatives --set php /usr/bin/php7.3
a2enmod php7.3
a2dismod php7.0
systemctl restart apache2

Bien joué, je n’aurais pas eu de solution aussi propre :+1: