Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FU

Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 22 janv. 2011 à 11:33
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 - 26 janv. 2011 à 00:53
bonjour,
je galère depuis quelques heures pour résoudre un parse error qui me fait c**** :)
je vous explique, j'ai developpé mon site sous wamp en local. en local tout fonctionne très bien, sauf que quand j'essaye de le mettre sur un serveur distant, bé j'ai une parse error comme ceci:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homez.42/monsite/www/rep/Class.toto.php on line 4

ce qui est bizarre c'est que la ligne 4 correspond à la déclaration de la première fonction de ma classe !
Class MaClasse
{
       function maFonction($param1, $param2) //ligne 4
       {
        //instructions
       }
       //autres fonctions
}


je ne vois ce que ca peut etre... une idée?

PS: je ne sais pas si c'est ça, mais j'utilise une base de donnée en local que je n'ai pas encore importé sur mon serveur...

13 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
22 janv. 2011 à 11:38
Salut,

Montre donc ton vrai code et non une version raccourcie dans laquelle on ne peux pas voir la cause de l'erreur.
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 11:43
hello,
je pense que ce qui va t'interesser est là.
je rappelle que ça marche nikel en local :)



<?php
Class MaClasse
{
public function Ajouter($user, $bgue, $type, $email, $ip)
{
try{
$date = getdate();

$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=mybd', 'root', '', $pdo_options);
//$bdd = Connexion();
$sql = "INSERT INTO tb_bg(id_bg, bg, date, type) VALUES('', '$bg', '$date', '$type')";
$reponse = $bdd->exec($sql);

$resp = $bdd->query("SELECT MAX(id_bg) from tb_bg");
while ($data = $resp->fetch())
{
$id = $data[0];
echo '#'.$id.'
';
}
                 
                 //suite
}

cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
22 janv. 2011 à 11:55
Bonjour,

regarde sur ton hébergeur les information du phpinfo(), j'ai déjà rencontré ce message d'erreur sur un serveur utilisant php4 alors que le code était en php5.

bonne journée
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
22 janv. 2011 à 11:59
Salut,

@47 : Bien vu, c'est fort possible. J'ajouterais que chez la plupart de ces hébergeurs, php5 est disponible en plus de php4, ça se règle avec un simple .htaccess (cf doc spécifique à l'hébergeur).

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 11:59
dans ce cas là, je ne peux rien faire ?!! sauf recoder en procédural?

je suis en mutualisé (donc impossible de mettre a jour php) et je pense que meme si l'hebergeur est en php4, il devrait pouvoir executer mon code puisque je n'utilise pas de fonction specifique à php5...
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
22 janv. 2011 à 12:00
J'allais dire la même chose.. tout dépend de la version mais surtout des extensions présentes.
S.
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 12:01
je suis chez ovh, vous voyez la doc quelque part sur le net?
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 12:09
mon hebergeur utilise la version 4.4.9 et l'extention php_pdo_mysql n'existe pas (phpinfo())...
mais cela n'explique pas le parse error, si?
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
22 janv. 2011 à 19:50
bonsoir,

vu sur le site ovh.com : PHP 5 chez ovh
et pour l'extension php_pdo_* c'est peut être normal vue la version 4 de php, si le lien fonctionne, tu auras peut être pdo_mysql activé

bonne soirée
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 20:20
merci 47 pour l'info, mais le fichier htaccess cause une erreur 503
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
22 janv. 2011 à 21:11
hola,
j'ai reglé le problème en renomant mes fichiers en *.php5
merci à tous
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
23 janv. 2011 à 07:31
Alors ça, ça doit être indiqué quelque part sur le site de ton hébergeur. Réglage particulier chez lui..
S.
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
26 janv. 2011 à 00:53
Pour utiliser php5 chez ovh, tu doi mettre dans le htaccess :
# Default OVH
SetEnv PHP_VER 5_TEST
SetEnv REGISTER_GLOBALS 0



______________________________________________________________________
Rejoignez-nous