Modification impossible

Petit nouveau ! | 5 Messages

07 avr. 2009, 01:22

bonsoir

je mets à jour actuellement un site fait il y a qq années (par qqun d'autre).
le souci c'est que dès que je modifie le script, même une modif minime, ça plante.

Parse error: syntax error, unexpected '}' in /home/users2/r/machin/result.php on line 1

même un commentaire ! :
<?php
// echo "toto";
?>

si je l'efface et que j'essaie à nouveau, ça plante aussi.
mais si j'annule plusieurs fois la frappe (ctrl-z) et que je renvoie le fichier, là il n'y a plus d'erreur.


j'avais copié le site sur un autre serveur il y a qq temps pour le tester, et je n'avais pas eu de problème pour faire des modifications.
S'agit-il d'un problème de serveur (si oui quoi) ou vous voyez autre chose ??

merci

Mammouth du PHP | 661 Messages

07 avr. 2009, 01:40

et tu as quoi précisément à in /home/users2/r/machin/result.php on line 1 ... ?

Petit nouveau ! | 5 Messages

07 avr. 2009, 01:47

<?php

j'ai aussi vérifié la syntaxe, pour voir si une accolade trainait quelque part, mais tout me semble correct.

Mammouth du PHP | 661 Messages

07 avr. 2009, 01:57

C'est vraiment bizarre ton truc ...

Tu en aurais pour Longtemps de tout reprendre ?
je mets à jour actuellement un site fait il y a qq années (par qqun d'autre).
ce serait peut-etre plus simple, et tu pourrais en profiter pour le faire évoluer en version php5 => php6

... dans certains cas, c'est une Bonne raison de franchir le pas !!

Mais sinon, fais des tests sur plusieurs serveurs ... et tu verras vite si c'est ton serveur actuel qui est instable ...

@+

Petit nouveau ! | 5 Messages

07 avr. 2009, 02:04

C'est vraiment bizarre ton truc ...

Tu en aurais pour Longtemps de tout reprendre ?
oui trop, plusieurs dizaines de milliers de lignes :-(
et le budget couvre que qq heures de code.

Mammouth du PHP | 991 Messages

07 avr. 2009, 07:26

Hum , dans la config de ton serveur tu n'a pas touché aux include_path ?
DevOps, Symfony4, Hoa

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 avr. 2009, 11:42

Tu ne serais pas en train d'éditer sous Windows, le code d'une page qui se trouve hébergée sur un serveur Unix/Linux ?

J'opterais bien pour un ^M apparaissant au bout de tes lignes une fois le script édité et renvoyé sur le serveur...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 5 Messages

07 avr. 2009, 11:50

Hum , dans la config de ton serveur tu n'a pas touché aux include_path ?
non j'ai rien touché.
juste essayé de modifier un fichier php, sinon le site tourne impec.


Tu ne serais pas en train d'éditer sous Windows, le code d'une page qui se trouve hébergée sur un serveur Unix/Linux ?

J'opterais bien pour un ^M apparaissant au bout de tes lignes une fois le script édité et renvoyé sur le serveur...
en effet, j'édite sous windows, avec notepad++

mais vu que j'ai déjà modifié d'autres pages sans souci...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 avr. 2009, 12:20

Sous Windows, les fins de lignes sont les codes CRLF \r\n, alors que sous unix, seul le LF distingue la fin de ligne \n. Du coup les "\r" en trop sont interprétés et provoquent des erreurs. L'édition du fichier sur le serveur fait généralement apparaitre des ^M à la fin des lignes.

Tu peux normalement éviter cela en spécifiant le type de transfert dans ton client FTP .
Il y a deux types de transfert :
- BIN (pour binaire) : aucune modification n'est effectuée
- ASCII (pour ascii) : qui remplace les fins de lignes
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 5 Messages

07 avr. 2009, 12:37

Sous Windows, les fins de lignes sont les codes CRLF \r\n, alors que sous unix, seul le LF distingue la fin de ligne \n. Du coup les "\r" en trop sont interprétés et provoquent des erreurs. L'édition du fichier sur le serveur fait généralement apparaitre des ^M à la fin des lignes.

Tu peux normalement éviter cela en spécifiant le type de transfert dans ton client FTP .
Il y a deux types de transfert :
- BIN (pour binaire) : aucune modification n'est effectuée
- ASCII (pour ascii) : qui remplace les fins de lignes
oui merci.
en effet c'est ça, ça fonctionne maintenant.
le mode de transfert était en auto.
j'avais bien essayé hier en ASCII, pensant injustement que c'était le type à mettre.
merci en tout cas.