8768 sujets

Développement web côté serveur, CMS

Bonjour tout le monde !

Je rencontre un problème lors de la mise en ligne d'un espace membre sur OVH. Le serveur me retourne comme erreur :
Parse error: syntax error, unexpected '[', expecting ')' in /chemin/du/fichier/fichier.php on line 17

La ligne en question est la suivante :
$req->execute([$_POST['username']]);


Le soucis c'est qu'en local (sur WampServer à jour (PHP 5.5.12)) le code fonctionne correctement. Je pense que par défaut OVH ne comprend pas pdo et la récupération des informations sous forme d'objet. Il ne comprend pas la présence des [] à l'intérieure du execute();.

En fait, au niveau de la connexion à la BDD, j'ai écrit le code suivant pour récupérer les informations sous forme d'objet plutôt que sous forme de tableaux associatifs :
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);


Dois-je écrire quelques chose dans le fichier .htaccess pour corriger ce problème ? Merci d'avance.
Modifié par SilverFox (29 Jun 2015 - 10:57)
Oui. Désolé, j'ai complètement oublié de marquer le sujet comme résolu !

Je n'ai toujours pas trouvé de solution à mon problème actuel.
Modifié par SilverFox (29 Jun 2015 - 12:08)
Bonjour,

Et si tu écris ça plutôt ?
$req->execute(array($_POST['username']));


Si ça résout le problème c'est que ta version de PHP est inférieure à PHP 5.4.
j'ai trouvé !!!

En fait, j'avais créé un fichier .ovhconfig dans lequel j'indique la version de PHP mais je ne l'ai pas placé au bon endroit sur le serveur.

Pour ceux que ça intéresse, si vous avez un hébergement mutualisé antérieur à 2014, il faut créer à la racine in fichier sans extenssion appelé .ovhconfig et y placer le code :
app.engine=php
app.engine.version=5.5
http.firewall=none
environment=production
Ma source

Problème résolu !
Modifié par SilverFox (29 Jun 2015 - 12:49)