8768 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Sur un serveur mutualisé OVH très classique, je rencontre un petit souci qui est tout de même bien embêtant :

Lorsque je fais une modif sur des scripts PHP ou sur du HTML, et qu'ensuite j'envoie via FTP le fichier mis à jour pour remplacer l'ancien, c'est encore l'ancienne version du fichier qui est appelée. Ce n'est pas systématique, mais ça se produit 6 fois sur 10...

J'ai beau actualiser la page 15 fois, c'est toujours l'ancienne version qui est appelée. Pour "forcer" l'actualisation, il faut que je renvoie par FTP une ou deux fois le fichier, pour le remplacer encore...

C'est un peu agaçant et ça peut induire en erreur aussi Smiley lol

Une idée de comment résoudre ce problème ? Je ne sais pas où chercher, étant sur un mutu, on a pas accès à la config...

Je ne rencontre pourtant pas ce problème sur 5 autres serveurs mutualisés OVH similaires...
Bonjour,

Il est très peu probable que ton problème de cache vienne du serveur lui-même. Par contre il y a d'autres paramètres à prendre en compte:

- si tu utilises un CMS, ils font souvent tout un tas de choses derrière ton dos
- il y a aussi la configuration provenant d'un éventuel .htaccess (Expires headers)
- et enfin le cache navigateur. Dans les paramètres de Chrome tu as une case à cocher "Disable cache (while DevTools is open)". Si cette cas est cochée il suffit d'ouvrir les outils de développement (F12) pour naviguer sans cache navigateur (ce que personnellement je fais toujours lorsque je développe, c'est bien pratique).

J'espère t'avoir aidé
Hello Migli, merci pour ton aide Smiley smile

Hélas, pas de CMS ici, mes htaccess ne contiennent pas d'instruction sur le délai d'expiration des en-têtes, et malheureusement vider le cache ne régle pas le souci.

Je vais me renseigner sur les Expires Headers, j'imagine que sans instruction ils ont une valeur par défaut, et qu'il y a surement moyen de les désactiver ou de le mettre à zéro pour tester, après, on est sur un serveur en production, donc la mise en cache est utile pour les perfs tout de même.

Concernant le cache du navigateur, il me semble de toute façon qu'il n'a aucune incidence sur les instructions PHP, puisque le navigateur ne les lit pas, il ne fait que recevoir la réponse du serveur... D'où mon idée du cache du côté serveur, qui me semblait le plus probable.

Exemple typique de tout à l'heure : je suis en train de migrer un espace privé en PHP d'un serveur local vers ce mutu OVH. Un require() n'avait pas le bon chemin, j'obtiens alors l'erreur :
Warning: require_once(ancien/chemin/fichier.php) : failed to open stream: No such file or directory

Je corrige l'erreur, j'envoie le fichier .php sur le serveur, j'actualise : pareil. Je vide le cache : pareil. J'actualise 14 fois : pareil.
Je renvoie le fichier via FTP, ça continue, je le renvoie une 3ème fois, hop, ça y est, ça marche. Ouf Smiley lol
Salut,

A défaut de trouver une solution au problème, une solution alternative peut être :
Est ce que cela fonctionne mieux avec du scp ?
Salut Mathieu Smiley smile

Je ne crois pas que je puisse me connecter via SCP sur un mutu OVH (je n'ai jamais utilisé ce protocole, le SFTP à toujours été suffisant pour moi). OVH ne propose que FTP/SFTP et SSH.

Pour faire un peu avancer l'enquête, je me rends compte qu'il ne faut pas forcément actualiser 20 fois la page ou renvoyer le fichier via FTP pour que sa nouvelle version soit prise en compte ; il suffirait en fait d'attendre entre 40 et 50 secondes Smiley sweatdrop

Si j'envoie un fichier, que j'attends suffisamment longtemps, et lorsque j'actualise la page, la nouvelle version est systématiquement prise en compte. Bizarre, non ?

Je pense que je n'avais pas été suffisamment patient Smiley lol