Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

parse error incomprehensible sous unix, pas sous windows...

6 réponses
Avatar
fradame_nic
Bonjour,

J'ai écrit un script. C'est une classe contenant des méthodes que
j'inclue dans d'autres scripts php. Mes balises ouvrantes et fermantes
sont <?php et ?>

J'ai le msg suivant:

Parse error: parse error, unexpected $, expecting T_VARIABLE or '$' in
/usr/local/apache/htdocs/APS/include/show_list.php on line 222

Bien, évidement la ligne 222 n'a pas spécialement de parse erreur. En
outre, quand je teste sous easyphp windows, le script marche très
bien.

J'avais déjà rencontré l'erreur avant, et je l'avais résolue en
enlevant mes commentaires multi-ligne entre les méthodes (je ne sais
d'ailleurs pas en quoi c'était mieux sans ces foutus commentaires ).

Depuis, j'ai rajouté une méthode. eh paf ! Re-l'erreur, et je n'ai
plus de commentaire à enlever. je ne crois pas qu'il y ait une erreur
à la ligne 222 (Encore que, étant l'auteur du code, je suis le plus
mal placé pour en juger).

Aurriez-vous rencontré ce type de cas ?
PS: le script est un peu long.donc je ne l'inclue pas dans ce fil. En
revanche, je peux l'envoyer sur demande...

D'avance, merci pour votre aide.

6 réponses

Avatar
John GALLET
Bonjour,

Parse error: parse error, unexpected $, expecting T_VARIABLE or '$' in
/usr/local/apache/htdocs/APS/include/show_list.php on line 222
Bien, évidement la ligne 222 n'a pas spécialement de parse erreur. En
outre, quand je teste sous easyphp windows, le script marche très
bien.


Si vraiment le "même" script fonctionne sur un OS et pas l'autre, la
première vérification "bête" que je ferais, c'est la chasse aux caractères
non imprimables.

cat -vet show_list.php |more
Toutes les lignes doivent se terminer par un $ et pas par du ^M, les
tabulation si tu les utilises seront ^I, tout autre zigouigoui doit
impitoyablement être éliminé.

"man cat" pour plus d'informations.

a++;
JG

Avatar
CrazyCat
A mon avis, c'est un réglage du php.ini qui provoque cela.
Jette un oeil sur la variable error_reporting.

--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net
Avatar
fradame_nic
John GALLET wrote in message news:...
Bonjour,

Parse error: parse error, unexpected $, expecting T_VARIABLE or '$' in
/usr/local/apache/htdocs/APS/include/show_list.php on line 222
Bien, évidement la ligne 222 n'a pas spécialement de parse erreur. En
outre, quand je teste sous easyphp windows, le script marche très
bien.


Si vraiment le "même" script fonctionne sur un OS et pas l'autre, la
première vérification "bête" que je ferais, c'est la chasse aux caractères
non imprimables.

cat -vet show_list.php |more
Toutes les lignes doivent se terminer par un $ et pas par du ^M, les
tabulation si tu les utilises seront ^I, tout autre zigouigoui doit
impitoyablement être éliminé.


C'est effectivement le cas. toutes mes lignes se terminent par un $.
Comment faire pour faire disparaitre ces caractères ?
J'imagine qu'il doit s'agir d'une question de format de fichier.
En fait je développe sous Windows(Eclipse) et je transfert sur un unix
en FTP.

J'ai essayé de transferer les fichiers comme des fichiers binaires, et
ASCII, mais le résultat est le même. Alors que faire ?




"man cat" pour plus d'informations.

a++;
JG



Avatar
John GALLET
Re,

Toutes les lignes doivent se terminer par un $ et pas par du ^M, les
tabulation si tu les utilises seront ^I, tout autre zigouigoui doit
impitoyablement être éliminé.
C'est effectivement le cas. toutes mes lignes se terminent par un $.

Donc tout est bon pour les fins de lignes.

Pas de caractères "à la con" aux alentours de la ligne incriminée ?
Publie nous STP les 5 lignes de script précédentes et les 2 lignes
suivantes, pour une parse error, ça devrait suffire.


Comment faire pour faire disparaitre ces caractères ?
Ils sont normaux, c'est le EOL sous unix.


a++;
JG


Avatar
Michel BONZI
Bonjour,
Bonjour,


J'ai écrit un script. C'est une classe contenant des méthodes que
j'inclue dans d'autres scripts php. Mes balises ouvrantes et fermantes
sont <?php et ?>

J'ai le msg suivant:

Parse error: parse error, unexpected $, expecting T_VARIABLE or '$' in
/usr/local/apache/htdocs/APS/include/show_list.php on line 222
Faudrais voir show_list.php ? L'erreur vient peut-être de la ligne 221!


Bien, évidement la ligne 222 n'a pas spécialement de parse erreur. En
outre, quand je teste sous easyphp windows, le script marche très
bien.

Certe, mais easyphp 1.7 n'est pas en 4.3.10 (par exemple), il peut y

avoir quelques différences ?
J'avais déjà rencontré l'erreur avant, et je l'avais résolue en
enlevant mes commentaires multi-ligne entre les méthodes (je ne sais
d'ailleurs pas en quoi c'était mieux sans ces foutus commentaires ).

Un problème dans le fichier à partir d'un certains nb de caractères ?

Depuis, j'ai rajouté une méthode. eh paf ! Re-l'erreur, et je n'ai
plus de commentaire à enlever. je ne crois pas qu'il y ait une erreur
à la ligne 222 (Encore que, étant l'auteur du code, je suis le plus
mal placé pour en juger).

Le fichier a 'grossi', on retrouve le pb !

Aurriez-vous rencontré ce type de cas ?
PS: le script est un peu long.donc je ne l'inclue pas dans ce fil. En
revanche, je peux l'envoyer sur demande...

D'avance, merci pour votre aide.
De rien.


--
Michel BONZI

Avatar
Nicolas ROBERT
"John GALLET" a écrit dans le message de
news:
Re,

Toutes les lignes doivent se terminer par un $ et pas par du ^M, les
tabulation si tu les utilises seront ^I, tout autre zigouigoui doit
impitoyablement être éliminé.
C'est effectivement le cas. toutes mes lignes se terminent par un $.

Donc tout est bon pour les fins de lignes.

Pas de caractères "à la con" aux alentours de la ligne incriminée ?
Publie nous STP les 5 lignes de script précédentes et les 2 lignes
suivantes, pour une parse error, ça devrait suffire.


Comment faire pour faire disparaitre ces caractères ?
Ils sont normaux, c'est le EOL sous unix.



Effectivement, j'ai vu que c'était le flag sous unix pour repérer une fin de
ligne.
Mes page étaient aussi bourrées de ^M et ^I ( retours à la ligne windows et
tabulation ).
Je l'ai ai supprimés grâce à eclipse qui le permet.

En fait, mon problème venait du client FTP qui ne transférait pas mes
fichiers dans leur totalité,
d'où le parse error ( assez bizzarre comme comportement quand même) .
J'ai transféré avec mes fichiers avec les commandes ftp sous DOS, et ô
miracle, plus de problème...

ceci dit, merci de m'avoir parlé des caractères non imprimables, car ça m'a
permit de nettoyer mes scripts.


a++;
JG