[Résolu] Upgrade Nextcloud & error.php

Quelque chose ne fonctionne pas alors qu'il vous semble que le soucis ne vient pas de vous ? Vous avez des questions sur nos services et vous pensez que vos préoccupation peuvent intéresser d'autres hébergés ? N'hésitez pas à nous contacter.
Eric-jr
Messages : 38
Inscription : 6 juin 2018 à 19:55

Bonjour,

J'ai lancé la mise à jour de Nextcloud 16.0.8 vers 17.0.3 par l'updater de 16.0.8.
Tout s'est bien passé jusqu'à la fin de l'exécution de l'updater, qui met en place les nouveaux fichiers.
C'est la phase suivante qui coince : normalement, on recharge la page d'accueil du site et la mise à jour se lance.
Chez moi (n.hfn.re), il ne passe rien...

J'ai ouvert une conversation sur le forum d'aide de Nextcloud. On me demande de regarder le fichier error.php. Comment puis-je le récupérer pour la journée du 12/02/20 ?

Merci !
Éric HOFFMANN
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bonjour,

Je viens de vous corriger dans un premier temps les permissions sur les fichiers de votre espace FTP, un script PHP de votre site à du modifier les CHMOD alors qu'ils ne sont pas à modifier sur un hébergement mutualisé. Vous aviez tous vos scripts PHP non exécutables (622) avec une lecture autorisée pour tout le monde (fort heureusement c'était impossible car protégé de mon côté pour éviter ce problème de sécurité), au lieu du CHMOD fonctionnel 750 nécessaire.

Ensuite, concernant le fichier "error.php", j'imagine qu'il est question du fichier "error.log" et ce fichier n'est pas sauvegardé pour des raisons de performance, à l'inverse du fichier access.log. Par contre on peut y avoir accès en temps réel via le superviseur après avoir activé l'affichage des messages d'alertes et d'erreurs PHP : https://www.franceserv.fr/wiki/superviseur

Mais le mieux est d'activer l'affichage des messages d'alertes et d'erreurs PHP via votre interface de gestion pour que cette page de code HTTP 500 totalement blanche puisse donner la raison du problème (actualisé la page de votre site pour voir apparaitre le message d'erreur après que vous avez activé leurs affichages en attendant maximum 5 minutes).

Voilà comment procéder pour faire parler la page blanche de votre site :
https://www.franceserv.fr/faq#comment-f ... erreur-500
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Je viens de voir que vous avez activé l'affichage des messages d'alertes et d'erreur et on peut maintenant voir ceci :

Fatal error: Cannot redeclare getallheaders() in /home/httpd/e/r/i/eric-jr/n.hfn.re/3rdparty/ralouphie/getallheaders/src/getallheaders.php on line 10

Ce n'est pas la première fois que je vois cette erreur sur PHP 7.3 (j'utilise aussi NextCloud personnellement). Vous pouvez alors renommer le nom de la fonction "getallheaders()" du fichier getallheaders.php à la ligne 10 par autre chose de non utilisé, par exemple "zutblahblah_getallheaders()".

Je ne sais pas s'il y a une méthode de correction plus "corporate", mais ma méthode fonctionnera.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Eric-jr
Messages : 38
Inscription : 6 juin 2018 à 19:55

Bonsoir Élodie,

Une nouvelle fois GRAND MERCI. Votre truc a fonctionné et la mise à jour a pu se faire apparemment sans problème.
J'ai transmis le message d'erreur PHP au forum help.nextcloud.com. Vous pouvez aller voir quelles réponses seront apportées, ou je les posterai ici...

Encore merci, vous êtes le meilleur hébergement que je connaisse !
Éric HOFFMANN
Eric-jr
Messages : 38
Inscription : 6 juin 2018 à 19:55

elodie a écrit :Vous pouvez alors renommer le nom de la fonction "getallheaders()" du fichier getallheaders.php à la ligne 10 par autre chose de non utilisé, par exemple "zutblahblah_getallheaders()".

À votre avis, faut-il faire l'opération inverse une fois l'installation terminée ?
Éric HOFFMANN
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Merci pour le compliment et pour le lien vers votre topic sur leur forum, ça peut être intéressant s'ils ont une autre solution mais j'ai déjà vu ce problème sur Wordpress et NextCloud.

D'après la documentation PHP sur cette fonction :
https://www.php.net/manual/fr/function. ... eaders.php

Cette fonction est présente sur FPM depuis la version 7.3 de PHP (ce que vous utilisez), fort possible alors que cette fonction a été ajoutée pour PHP 7.2 car elle n'existait pas de base sur cette branche.

Par contre ils ont prévus ce cas avec la vérification préalable via la ligne "if (!function_exists('getallheaders')) {" qui ne fonctionne pas, peut être en raison du FPM justement.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

eric-jr a écrit :À votre avis, faut-il faire l'opération inverse une fois l'installation terminée ?
Non, ce n'est pas une ligne concernant l'installation mais le fonctionnement de NextCloud, déjà en place de base sur PHP 7.3
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre