IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

T_DOUBLE_ARROW : pourquoi ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut T_DOUBLE_ARROW : pourquoi ?
    Bonjour,

    J'ai cette erreur dans mon fichier de connexion à la base de données.
    En local, je n'ai pas de pb, sur un site de 1&1 ui est mon site de test, aucun pb.
    Mais lorsque déploie sur Online.net, j'ai cette erreur :
    Parse error: syntax error, unexpected T_DOUBLE_ARROW, expecting '(' in Connect_Base.php on line 41
    si je rafraichis la page 2 ou 3 fois, ça marche et je n'ai plus l'erreur.

    Mon hébergeur est en PHP 5.6

    Voici mon fichier de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php 
    $Base_Local = false;
     
    //session_start(); //Première ligne de ton code
    setlocale (LC_TIME, 'fr_FR.utf8','fra');
    // echo "Date : ";
    // echo (strftime("%A %d %B %Y"));
     
    function close_connection(){
    	$bdd = null;
    }
     
    $Serveur = $_SERVER['SERVER_NAME'];
    switch ($Serveur) {
    	case "www.xxx.fr":
    		$hostname="sssss";
    		$nom_base_donnees="xxxx";
    		$user="xxx";
    		$password="xxx";
    		break;
     
    	case "valerinolocation.com":
    		if (file_exists('fonctions/Connect_Base_TEST.php'))
    			require_once 'fonctions/Connect_Base_TEST.php';
    		else
    			require_once '../../fonctions/Connect_Base_TEST.php'; // cas où on est pas connecté, par ex : confirmation mail arrivé depuis lien du mail
    		break;
     
    	case "127.0.0.1":
    		if (file_exists('fonctions/Connect_Base_LOCAL.php'))
    			require_once 'fonctions/Connect_Base_LOCAL.php';
    		else
    			require_once '../../fonctions/Connect_Base_LOCAL.php'; // cas où on est pas connecté, par ex : confirmation mail arrivé depuis lien du mail
    		$Base_Local = true;
    		break;
     
    	default:
    		die("<br><h1 id='msgerreur'><strong>Le serveur " . $Serveur . " n'est pas configuré </strong></h1>");
    		break;
    }
    $GLOBALS['bdd'] = new PDO("mysql:host=$hostname; dbname=$nom_base_donnees", $user, $password, array(PDO::ATTR_PERSISTENT => true));
    $GLOBALS['bdd']->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    ?>


    Merci pour votre aide.

    Eddy

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    essaie voir si en sortant array(PDO::ATTR_PERSISTENT => true) de la chaîne de connexion tu as toujours la même erreur.
    Au pire, passe ce paramètre avec setAttribute() et réessaie

  3. #3
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    Alors, j'ai fait comme ceci, mais ça ne change pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Options de connection
    $options = array
    (
    		PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ,
    		PDO::ATTR_PERSISTENT => true
    );
     
    $GLOBALS['bdd'] = new PDO("mysql:host=$hostname; dbname=$nom_base_donnees", $user, $password, $options);

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    tu ne m'as pas bien compris, retire toutes les options de la chaîne de connexion et passe les via setAttributes()

  5. #5
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    effectivement, je n'ai pas compris ce que tu expliques.
    Je vais chercher si je trouve quelque chose.
    Merci pour la piste

  6. #6
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    après quelques recherches, j'ai fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $GLOBALS['bdd'] = new PDO("mysql:host=$hostname; dbname=$nom_base_donnees", $user, $password);
    $GLOBALS['bdd'] ->setAttribute(PDO::ATTR_PERSISTENT,true);  
    $GLOBALS['bdd'] ->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    mais ça ne change pas.
    Parse error: syntax error, unexpected ',', expecting '(' in Connect_Base.php on line 50
    après quelque refresh de la page PF5, ça marche.

  7. #7
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Euh, c'est vraiment étrange. Supprime l'espace entre le ; et dbname et réessaie

  8. #8
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    J'ai testé.
    parfois, je navigue sur quelques pages sans soucis, puis parfois le pb cité plus haut, puis parfois :
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator at webmaster@scf.asso.fr to inform them of the time this error occurred, and the actions you performed just before this error.

    More information about this error may be available in the server error log.

    Apache/2.4.7 (Ubuntu) Server at www.scf.asso.fr Port 80
    Après un refres :
    Parse error: syntax error, unexpected ',', expecting '(' in Connect_Base.php on line 50
    , puis après un refresh, ça marche

  9. #9
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Regarde si dans tes logs tu n'a pas trace d'une erreur spécifique et sinon remonte le problème auprès de l'administrateur de ton hébergement.
    Tu peux poster l'intégralité du code de ton script stp

  10. #10
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php 
    $Base_Local = false;
     
    //session_start(); //Première ligne de ton code
    setlocale (LC_TIME, 'fr_FR.utf8','fra');
    // echo "Date : ";
    // echo (strftime("%A %d %B %Y"));
     
    function close_connection(){
    	$bdd = null;
    }
     
    $Serveur = $_SERVER['SERVER_NAME'];
    switch ($Serveur) {
    	case "www.scf.asso.fr": // serveur de PROD
    		$hostname="xxxxxx.scf.asso.fr";
    		$nom_base_donnees="wwwww";
    		$user="wwwww";
    		$password="wwwww";
    		break;
     
    	case "valerinolocation.com":
    		if (file_exists('fonctions/Connect_Base_TEST.php'))
    			require_once 'fonctions/Connect_Base_TEST.php';
    		else
    			require_once '../../fonctions/Connect_Base_TEST.php'; // cas où on est pas connecté, par ex : confirmation mail arrivé depuis lien du mail
    		break;
     
    	case "127.0.0.1":
    		if (file_exists('fonctions/Connect_Base_LOCAL.php'))
    			require_once 'fonctions/Connect_Base_LOCAL.php';
    		else
    			require_once '../../fonctions/Connect_Base_LOCAL.php'; // cas où on est pas connecté, par ex : confirmation mail arrivé depuis lien du mail
    		$Base_Local = true;
    		break;
     
    	default:
    		die("<br><h1 id='msgerreur'><strong>Le serveur " . $Serveur . " n'est pas configuré </strong></h1>");
    		break;
    }
     
    // Options de connection
    /*$options = array
    (
    		PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ,
    		PDO::ATTR_PERSISTENT => true
    );*/
     
    $GLOBALS['bdd'] = new PDO("mysql:host=$hostname;dbname=$nom_base_donnees", $user, $password);
    $GLOBALS['bdd'] ->setAttribute(PDO::ATTR_PERSISTENT,true); //a le même effet qu'un singleton, sans les inconvénients  
    $GLOBALS['bdd'] ->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);  
    ?>
    le pb est sur le serveur PROD

    Je ne vois pas où peuvent être les logs.
    Je vais chercher.

    Je vais poser une question sur l'hébergeur.

  11. #11
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    j'ai également ouvert un ticket chez online.net

  12. #12
    Membre confirmé
    Homme Profil pro
    Cobol sur Mainframe et Unix AIX
    Inscrit en
    Mars 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Cobol sur Mainframe et Unix AIX

    Informations forums :
    Inscription : Mars 2012
    Messages : 196
    Par défaut
    Bonjour,

    En fait la manip qui consistait de passer en version PHP 5.6 n'a pas fonctionné.
    L'hébergeur l'a passé et depuis c'est mieux.

    Merci à tous pour votre aide précieuse.

    Bonne soirée,

    Eddy

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo