MaJ 7.59, print_pdf et erreur 500 (WSOD)

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je viens de basculer depuis une semaine sur un projet Drupal sur lequel je dois apporter une correction.
La mise à jour 7.59 a été appliquée en production et depuis, impossible d'afficher la page /admin/reports/status

Etant plutôt novice dans le CMS, j'ai fouillé quelques jours sur Google, la documentation officielle, vos pages de documentation ainsi que stackoverflow, j'ai donc appris pas mal de choses sur ce type d'erreur et j'ai suivi une procédure proposée sur stackoverflow pour tenter d'identifier si un module pouvait provoquer cette erreur et si oui, lequel : https://stackoverflow.com/questions/5276010/drupal-white-screen-of-death...

Après cet essai, je vois que le module "print_pdf" passe dans la partie "start" mais pas dans la partie "finish", donc il semble commencer son chargement sans le finir.

Je l'ai ensuite désactivé de deux manières :

  1. Le supprimer du dossier sites/all/modules/contrib/print
  2. Ajouter une instruction if($module !== 'print_pdf') dans la fonction module_invoke_all du fichier module.inc

Et en effet, ma page /admin/reports/status s'affiche à nouveau dans les deux cas.
L'inconvénient c'est que je ne connais pas très bien l'application étant dessus depuis quelques jours, et que je ne peux pas me permettre de simplement supprimer ce module qui peut servir sur une partie de l'application que je n'ai pas identifiée.

Du coup, auriez-vous une indication pour que je puisse en savoir plus sur ce problème ? Concrètement, je n'ai aucune idée du pourquoi ce module provoque une 500 : Les logs PHP et Apache sont vides, et la page /admin/reports/dblog ne m'apporte pas d'information concernant ce problème non plus. En sachant pourquoi le module provoque l'erreur, je pourrai avancer et peut être corriger le problème sans supprimer le module.

En tout cas, je vous remercie de m'avoir lu.

EDIT : Petite précision, j'ai lu sur la documentation du module Printer, email and PDF Version que l'on pouvait accéder aux version PDF de nos noeuds avec un lien comme le suivant : www.example.com/printpdf/nid. Après l'avoir testé en local et en production, j'obtiens une 500 dans les deux cas. Je ne sais pas si cela peut aider, mais je pense que ça peut être lié à ce que j'ai décris plus haut.

J'ai trouvé une solution à mon problème, le fait de l'avoir écrit m'a probablement aidé ! :)
Alors, comme je vous l'ai dit plus tôt, je me suis rendu compte que monsite.com/printpdf/nid ne fonctionnait pas.

J'ai donc été voir dans la configuration et la page de documentation de Printer, email and PDF Version. Il se trouve qu'un module doit être renseigné pour générer les PDFs. Dans mon cas, c'était dompdf qui était utilisé, en version 7.x-2.0.
Je me suis rendu sur la page du module ( https://www.drupal.org/project/dompdf ) Et me suis donc rendu compte que :
1°) Le module ne remplit pas les conditions de sécurité de Drupal
2°) Le module n'est plus à jour (la version dont je dispose ne semble meme pas exister )

Je décide donc d'installer un autre module maintenu pour la génération de PDF : TCPDF. Je l'installe dans mon projets Drupal et je peux le choisir comme outil de Génération de PDF dans le configuration de print_pdf.

J'actualise, je me rends sur /admin/reports/status qui était finalement la base de mon problème et plus d'erreur 500 !
De plus, la page monsite.com/printpdf/nid fonctionne désormais. C'était donc bien ce module qui posait problème.

J’espère que cela pourra aider les éventuels francophones qui rencontreront ce problème, ou un problème similaire :)

Bonne journée à tous et à bientôt sur drupal.fr !