#1 Le 17/06/2013, à 10:56
- Morgiver
[RESOLU][PHP]Erreur unexpected T_CLASS
Bien le bonjour
Je suis au taff et je viens d'uploader mon travail sur le serveur pour commencer les test grandeur nature.
En local tout fonctionne, mais sur le serveur ça foire (serveur mutualisé OVH).
J'ai une erreur comme ceci :
Parse error: syntax error, unexpected T_CLASS in /{MON_PATH}/include/class/manager.class.php on line 1
J'inclus simplement mes class avec ce bout de code :
define('CLASS_DIR', 'include/class');
set_include_path(get_include_path().PATH_SEPARATOR.CLASS_DIR);
spl_autoload_extension('.class.php');
spl_autoload_register();
J'ai bien vérifié la version de PHP -> 5.3.16
Voici les première ligne de mon code PHP :
<?php
abstract class Manager
{
//etc... mon code
En mettant le <?php sur la ligne 2, l'erreur reste à la ligne 1. J'ai bien l'impression que c'est une histoire d'encodage de fichier. Pourtant j'utilise Notepad++ et j'encode en UTF-8 sans bom, histoire d'évité des erreurs bien conne et bien chiante, apparemment c'est pas suffisant.
Je sèche complètement, quelqu'un aurait une idée ?
Merci d'avance,
Morgiver
Dernière modification par Morgiver (Le 21/06/2013, à 08:27)
Hors ligne
#2 Le 17/06/2013, à 21:19
- Morgiver
Re : [RESOLU][PHP]Erreur unexpected T_CLASS
Bon, c'est résolu, j'ai tout revérifié. Et j'ai fini par ouvrir le fichier avec un autre éditeur.
Le abstract était collé au <?php, tu m'étonnes que ça fonctionne pas.
Ce qui m'intrigue vraiment, c'est la façon dont ça se passe :
- Soit sur le local, il n'en a rien a foutre que le abstract soit collé au <?php.
- Soit le transfert vers le serveur altère le fichier de tel manière que le ça colle l'expression à la balise.
Je pige vraiment pas.
Une aprèm de perdue à cause de cette connerie
Hors ligne
#3 Le 21/06/2013, à 08:30
- Morgiver
Re : [RESOLU][PHP]Erreur unexpected T_CLASS
Maintenant je sais pourquoi, il s'agit de l'encodage du fichier et des sauts de ligne.
Il y a deux format :
- CR : Utilisé par Mac
- LF : Utilisé par Unix
- CR + LF : Utilisé par DOS/Windows
Voilà, la solution est simplement de faire tout en CR + LF. Les sauts de ligne seront respectés partout.
Hors ligne