8787 sujets

Développement web côté serveur, CMS

Bonjour,

Savez-vous ce que signifie ce doux message ?

Error 503 Backend fetch failed

Backend fetch failed
Guru Meditation:

XID: 4125689

Varnish cache server
Modérateur
Bonjour,

503 est un code erreur du serveur : service indisponible

C'est généralement temporaire (serveur en maintenance, surchargé, etc ...).

Vérifie aussi l'adresse qui te renvoi cette erreur ( touche f12 puis console dans le navigateur), un script mal configurer peut-être si systématique ?

Cdt
Merci de votre suivi.

Je refais un test en fin de journée.

Il s'agit d'un script d'administration assez complexe et je suis récemment passé en PHP 8.

Je ferai un test en mode développement pour voir si erreurs PHP.

Je vous tiens informés.
Bon, je suis provisoirement passé en PHP 7.4 pour exécuter le script.
Pas de problème, ça a bien marché.
Je ferai des tests en PHP 8 dès que j'aurais le temps, je suspecte une erreur fatale liée à PHP 8.
La migration de 7 vers 8 est quand même un gros boulot.
PHP 8 est mieux que PHP 7 mais il introduit des paquets de nouvelles contraintes qui ne sont pas dans l'esprit initial de PHP.
Bonjour,

Sur le site de test j'ai découvert un bon paquet de warnings, cela explique sans doute l'erreur 503.

J'ai corrigé et cela semble bien fonctionner.

J'ai découvert aussi qu'en mode production une erreur fatale déclenche parfois l'erreur 503.

À propos de la migration PHP 7 vers PHP 8 il y aurait beaucoup à dire, je me contente d'un mot.

$string = 'abc';

echo $string[0];

// PHP <= 7.4
Retourne "a"

// PHP >= 8.0
Erreur fatale, $string est supposé être un tableau.

Modifié par boteha_2 (25 Feb 2025 - 21:28)
Mathieuu a raison, l'accès via des crochets ne déclenche pas d'erreur.

Les informations de migration pour chaque version sont disponibles ici :
https://www.php.net/manual/fr/appendices.php

Tu peux utiliser un outil d'analyse statique tel que PHPStan pour identifier et corriger les éventuelles erreurs d'exécution pendant le développement (via un plugin dans ton éditeur de code préféré et/ou pour de l'intégration continue) : https://phpstan.org/
Bonjour,

Merci de votre suivi.

Mathieuu a écrit :
normalement ça marche ton code


Tu as raison, j'ai essayé dans mon environnement et cela fonctionne.

Cependant je suis certain d'avoir eu une erreur fatale que j'ai résolue en remplaçant $v[0] par mb_substr ($v, 0, 1) et l'alerte disait bien que la variable attendue devait être un tableau...

Ce n'est pas très motivant d'essayer de reproduire une erreur fatale dans un programme qui marche, je ne vais pas plus loin pour le moment.

Bizarre...

Pitet a écrit :
Tu peux utiliser un outil d'analyse statique tel que PHPStan


Merci, je ne connaissais pas, c'est désormais dans mes favoris.

Quand le programme contient des requêtes vers une base de données dont les résultat sont traités dans le programme, j'ai l'impression que PHPStan ne comprend plus bien.

J'ai essayé de balancer un programme sans bug connu de 3000 lignes avec requêtes SQL et il m'a demandé d'essayer de recommencer plus tard.
Modifié par boteha_2 (26 Feb 2025 - 20:32)
Tu as balancé 3000 lignes sur la page https://phpstan.org/try ? Cette page est juste une démo, pour utiliser PHPStan il faut l'ajouter en tant que dépendance de dév de ton projet via composer :
composer require --dev phpstan/phpstan


Puis créer un fichier de configuration phpstan.neon à la racine de ton projet pour indiquer le niveau d'analyse ainsi que le(s) dossier(s) contenant tes sources php :
parameters:
	level: max
	paths:
		- src


Puis lancer l'analyse en ligne de commande depuis la racine de ton projet (et/ou utiliser un plugin pour que l'analyse soit faite directement dans ton éditeur de code) :
> vendor/bin/phpstan analyse


En fonction de ton projet, certaines erreurs relevées par PHPStan peuvent être ignorées en utilisant une baseline ou en utilisant un niveau d'analyse plus faible.
Tu pourras facilement trouver des détails sur chaque erreur en faisant une recherche avec le message d'erreur.
https://phpstan.org/user-guide/getting-started