Page blanche dans l'espace public avec code <-- erreur -->

Bonjour,
je viens de réinstaller un site via spip_loader ( SPIP 4.4.25) sur un nouvel hébergement Gandi. Tout c’est bien passé.
Si je me connecte via ecrire/, j’ai accès à Spip et j’ai accès au site public.
Pour autant, en essayant de me connecter au site avec d’autres navigateurs, page blanche avec dans le code source ce message ← erreur -->.
Quand je bascule avec un autre navigateur avec ce code d’erreur, si je fais xx/ecrire/ j’ai accès à la partie privée de SPIP.
Je ne vois pas du tout comment gérer cette situation pour que le site soit accessible à tous.
Avez-vous une idée ?

Bonsoir,

Quelle version de PHP vous avez sur le site ?

Version 8.5.10

Et avec une version 8.4 ?

J’essaie tout à l’heure.

Il faudrait voir du coté de l’hebergeur pour accéder aux LOGS PHP (!= log SPIP).

J’ai ces messages d’erreur dans le log d’Apache. Ces lignes correspondent aux appels web sur un navigateur qui affiche la page blanche :
[Tue Sep 29 14:11:09.210792 2026] [authz_core:error] [pid 24686:tid 139771212965568] [client 35.222.154.239:47502] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/xmlrpc.php
[Tue Sep 29 14:44:38.994101 2026] [proxy_fcgi:error] [pid 24686:tid 139771070355136] [client 45.138.12.30:48448] AH01071: Got error ‹ Primary script unknown ›
[Tue Sep 29 14:44:39.856117 2026] [proxy_fcgi:error] [pid 24686:tid 139767480047296] [client 45.138.12.30:48444] AH01071: Got error ‹ Primary script unknown ›
[Tue Sep 29 14:44:40.177017 2026] [authz_core:error] [pid 24686:tid 139766792173248] [client 45.138.12.30:48446] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/config/.env
[Tue Sep 29 14:44:40.177020 2026] [authz_core:error] [pid 24686:tid 139767463261888] [client 45.138.12.30:58334] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/config/config.js
[Tue Sep 29 14:44:40.177202 2026] [authz_core:error] [pid 24686:tid 139766808958656] [client 45.138.12.30:48444] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/config/aws.yml
[Tue Sep 29 14:44:40.269056 2026] [proxy_fcgi:error] [pid 24686:tid 139770541876928] [client 45.138.12.30:58332] AH01071: Got error ‹ Primary script unknown ›
[Tue Sep 29 14:44:40.451726 2026] [proxy_fcgi:error] [pid 24686:tid 139770558662336] [client 45.138.12.30:48444] AH01071: Got error ‹ Primary script unknown ›
[Tue Sep 29 14:44:40.452758 2026] [authz_core:error] [pid 24686:tid 139769082267328] [client 45.138.12.30:49134] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/vendor/composer/installed.json
[Tue Sep 29 14:44:40.452862 2026] [proxy_fcgi:error] [pid 24686:tid 139769099052736] [client 45.138.12.30:58336] AH01071: Got error ‹ Primary script unknown ›
[Tue Sep 29 14:44:40.816738 2026] [authz_core:error] [pid 24686:tid 139768553789120] [client 45.138.12.30:49134] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/config/config.json
[Tue Sep 29 14:45:26.172344 2026] [authz_core:error] [pid 24686:tid 139770558662336] [client 146.70.194.230:32856] AH01630: client denied by server configuration: /srv/data/web/vhosts/XXXXXXX.fr/htdocs/xmlrpc.php

Je suis passé en PHP 8.4 mais sans résultats. Toujours une page blanche avec code source ← erreur →

Voici le log error web PHP :
[28-Sep-2026 08:13:49 Europe/Paris] PHP Fatal error: Maximum execution time of 180 seconds exceeded in /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/src/Sql/Sqlite/PDOStatement.php on line 16
Stack trace:
#0 [internal function]: Spip\Sql\Sqlite\PDOStatement->__construct()
#1 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/src/Sql/Sqlite/Requeteur.php(107): PDO->query()
#2 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/src/Sql/Sqlite/Sqlite.php(81): Spip\Sql\Sqlite\Requeteur->executer_requete()
#3 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/req/sqlite_generique.php(178): Spip\Sql\Sqlite\Sqlite::executer_requete()
#4 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/req/sqlite_generique.php(1601): spip_sqlite_query()
#5 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/base/abstract_sql.php(242): spip_sqlite_select()
#6 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/base/abstract_sql.php(1631): sql_select()
#7 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/plugins-dist/medias/inc/documents.php(70): sql_fetsel()
#8 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/plugins-dist/medias/urls/generer_url_document_fichier.php(30): generer_url_document_dist()
#9 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/urls/page.php(33): urls_generer_url_document_fichier_dist()
#10 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/inc/utils.php(1970): urls_page_generer_url_objet_dist()
#11 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/tmp/cache/skel/html_3a2183073041a955096e5bbaced5498d.php(65): generer_objet_url()
#12 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/tmp/cache/skel/html_3a2183073041a955096e5bbaced5498d.php(156): BOUCLE_imagehtml_3a2183073041a955096e5bbaced5498d()
#13 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/parametrer.php(108): html_3a2183073041a955096e5bbaced5498d()
#14 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(329): public_parametrer_dist()
#15 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(293): public_produire_page_dist()
#16 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(739): inclure_page()
#17 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/inc/utils.php(3490): evaluer_fond()
#18 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(675): recuperer_fond()
#19 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/src/Texte/Collecteur/Modeles.php(159): inclure_modele()
#20 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/inc/modeles.php(36): Spip\Texte\Collecteur\Modeles->traiter()
#21 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/plugins-dist/textwheel/inc/lien.php(283): traiter_modeles()
#22 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/plugins-dist/textwheel/inc/texte.php(902): expanser_liens()
#23 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/tmp/cache/skel/html_652ead5c2f4987d26581329d2a35f0e9.php(385): propre()
#24 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/tmp/cache/skel/html_652ead5c2f4987d26581329d2a35f0e9.php(447): BOUCLE_un_articlehtml_652ead5c2f4987d26581329d2a35f0e9()
#25 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/parametrer.php(108): html_652ead5c2f4987d26581329d2a35f0e9()
#26 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(329): public_parametrer_dist()
#27 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(293): public_produire_page_dist()
#28 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/assembler.php(739): inclure_page()
#29 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/inc/utils.php(3490): evaluer_fond()
#30 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/evaluer_page.php(50) : eval()‹ d code(1685): recuperer_fond()
#31 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public/evaluer_page.php(50): eval()
#32 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/ecrire/public.php(144): include( ›…‹ )
#33 /srv/data/web/vhosts/XXXXXXX.fr/htdocs/spip.php(23): include( ›…')
#34 {main}

Peut être rallonger ? Et voir si les pré-requis sont bien là Configuration requise - SPIP

Ce qui est bizarre c’est que je vais sur le site et page blanche. Je rajoute à l’URL /ecrire/ et j’accéde à la page de connexion de Spip et je peux me connecter et le site public s’affiche bien, plus de page blanche.

Est-ce que le résultat est le même avec :

Oui

Et en question corolaire à celle de @Graphie est-ce que tu as activé le .htaccess ? Si oui si tu l’enlèves le résultat est-il le même ?
Sinon essaie de l’activer ?

As-tu regardé l’aide Gandi https://helpdesk.gandi.net/hc/fr en cas de page blanche ils recommandent « Il s’agit d’une erreur dans le code de votre site web, consultez le fichier de log www-error.log qui contient les avertissements et les erreurs signalés par PHP. » Que dit ce fichier ?

J’ai fait le htaccess dans les 2 sens sans succès.
Je regarde ce soir la page Gandi et les logs.

Dans la console Gandi, PHP/logs/www-error.log, j’ai cela :
[30-Sep-2026 11:09:26 Europe/Paris] PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /srv/data/web/vhosts/XXXX.fr/htdocs/ecrire/public/assembler.php:330
Stack trace:
#0 /srv/data/web/vhosts/XXXX.fr/htdocs/ecrire/public/assembler.php(129): public_produire_page_dist()
#1 /srv/data/web/vhosts/XXXX.fr/htdocs/ecrire/public.php(106): assembler()
#2 /srv/data/web/vhosts/XXXX.fr/htdocs/spip.php(23): include(‹ … ›)
#3 /srv/data/web/vhosts/XXXX.fr/htdocs/index.php(3): include(‹ … ›)
#4 {main}
thrown in /srv/data/web/vhosts/XXXX.fr/htdocs/ecrire/public/assembler.php on line 330

as tu deja tenté de vider le cache ? as tu désactivé tous les squelettes perso et plugins ?

Je vais remettre effectivement un Spip de base ce soir.

J’ai tout remis Spip de base et c’est OK.

J’ai ajouté mon squelette et effectivement cela dysfonctionne, j’ai un problème avec mon squelette que je n’avais pas avant… J’ai l’erreur : Erreur d’exécution squelettes/include/connecte.html | File […]/ecrire/public/assembler.php Line 330 : Cannot access offset of type string on string

Je ne sais pas ce que cela veut dire pour autant.

Faudrait voir le code de ce fichier ?