Bonjour,
Je suis sur un serveur OVH performance 1. Je suis en train de développer une application sur un serveur externe qui envoi une information toutes les 20 secondes à mon serveur OVH, qui traite la donnée d'une manière simple : enregistrement dans une base de données.
Mon script d'enregistrement à fonctionné pendant quelques jours, mais là impossible de traiter les données.
L'enregistrement des données se fait par le fichier test.php
qui contient :
$link = new PDO('mysql:host=ADDSERVER;port=MYPORT;dbname=DATABASE', 'USER', 'PASSWORD');
$data1 = $_POST["channel"];
$data2 = $_POST["my_param"];
$data3 = $_POST["frame"];
$data4 = $_POST["devaddr"];
$date1 = date('d');
$date2 = date('m');
$date3 = date('y');
$heure1 = date('H');
$heure2 = date('i');
$dateSE = date('W');
$date = "$date1/$date2/$date3";
$heure = "$heure1:$heure2";
$queryA = "INSERT INTO table(date_add, heure_add, data1, data2, data3, data4) VALUES ('$date', '$heure', '$data1', '$data2', '$data3', '$data4')";
$link->query($queryA);
(Tout simplement)
Et lorsque je veux afficher les données, je passe par un script aussi simple ...
J'ai fais plusieurs essais ... Mais rien ... J'ai d'autres scripts, sur le même serveur qui eux fonctionnent (ne font pas appel à la même base de données), je les ai repris, changé les infos de connexion etc... Mais rien, nothing !
Quand je souhaite afficher les données (ou faire un test d'enregistrement via test.php), la page charge charge charge charge.... Puis affiche le code HTML sans même afficher une erreur (ayant préalablement mis en tête de code: error_reporting(E_ALL); )
Est-ce que quelqu'un pourrait m'aider car là je sèche complet, ne serait-ce pas dû au script externe qui envoi une info toutes les 20 secondes, est-ce trop court ?
Si quelqu'un peut m'aider, je vous en serez reconnaissant !
Par avance, merci !
PS : ovhconfig
"
; pour plus d'informations sur ce fichier:
; http://www.ovh.com/fr/g1175.format_du_point_ovhconfig
app.engine=php
app.engine.version=5.6
http.firewall=none
environment=production
"
Hébergements Web - Mysql OVH problème
Related questions
- Connexion à mon compte client
152918
13.02.2019 09:51
- Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS
126357
03.09.2018 14:46
- reCAPTCHA erreur pour le propriétaire du site : clé de site non valide
110571
14.02.2019 16:17
- [FAQ] Comment mettre à jour mon site pour supporter Apache 2.4 ?
97990
28.07.2017 11:39
- Passage en php 7.4
97143
30.06.2020 05:05
- Augmenter taille PHP Post Max Size sur mutualisé ?
91429
04.12.2019 21:52
- Deploy d'un projet Node JS
90650
12.10.2016 20:18
- The requested URL / was not found on this server
90597
02.03.2017 18:25
- NextCloud sur mutualisé
90492
07.04.2017 08:42
- Ce site est inaccessible Impossible de trouver l'adresse DNS du serveur
90191
16.10.2016 16:24
Bonjour,
affiches-tu les erreurs propres à Mysql-PDO ? avec try / catch par exemple.
Je ne suis pas sur que "error_reporting(E_ALL);" remonte toutes les erreurs de mysql pdo.
Pour ton .ovhconfig, je te conseille d'ajouter l'environnement "stable" qui est beaucoup plus à jour que celui par défaut.
container.image=stable
Bonjour,
Merci pour ton aide, j'ai donc mis un try et un catch, j'ai ceci :
Erreur : SQLSTATE[HY000] [2002] Connection timed out
PS j'ai mis OVHCONFIG en rajoutant container.image=stable en dernière ligne.
Merci d'avance !
Si le nom du serveur mysql est bon je ne sais pas...
Vérifié quand même que le nom est le même que celui dans le manager.
Arrives tu a te connecter au serveur mysql via phpmyadmin ?
Bonjour,
Oui oui, depuis PHP my admin, j'arrive à me connecter (d'ailleurs, pour ma conscience, j'ai repris les données de connexion de mon script en faisant du copier-coller). Et j'arrive bien à me co... :sleepy:
Une idée ? ^^
Merci d'avance
Tu devrais tester ton accès avec :
https://www.wordetweb.com/word-et-web/OVH-Tester-une-base-de-donnees-via-un-script-PDO-FR.htm
Peut-on voir le DSN ? Il est vraisemblablement erroné (le port ou l'hôte).
HS : la requête devrait être préparée, sois sûr qu'elle plante si tes variables POST venaient à contenir la moindre `'` et, plus grave, si ce script est librement accessible, il présente des injections SQL qui ne demandent qu'à être exploitées.
apparement, il y a des soucis sur un privatesql ...
Je ne sais pas sur lequel tu es ni ce que tu peux y faire, mais si tu peux le redémarrer ou quelque chose du genre tente le.
Bonjour,
Merci à tous, je vais tester ça prochainement, je vous tient au courant.. !
Lucas
Merci pour ta réponse, je suis sur le privatesql002 / (j'ai d'autres sites, notamment sur le privatesql025 qui subissent le même problème). Serait-ce mes scripts qui sont devenus obsolètes du jour au lendemain ?
Pourtant, mes deux sites n'ont strictement rien à voir, mais la base du code reste la même. J'ai contacté le support OVH par ticket client.
@t0t0 : le DSN ? ou le DNS ? Le DNS est configuré par l'adresse IP du certificat SSL de OVH, à savoir 46.105. ... quelque chose comme ça. Oui il faut protéger les variables, j'en suis conscient. C'était un script de test où seul moi y ai accès, même c'est accessible depuis internet. (Injection SQL oui peut-être, mais vu la valeur des données envoyées, c'est se faire ch*** pour peu..)
Merci pour votre aide,
Merci de ta réponse Gaston_Phone,
Voici le test du script que tu m'as donné :
Version de PHP : 5.6.25
$DBconnect = 'mysql:dbname=MA-BDD;host=1ID.privatesql.ovh.net;port=MON-PORT'ID.privatesql.ovh.net;port=MON-PORT'
Etablissement de la connexion SQL en mode PDO
Connexion échouée : SQLSTATE[HY000] [2002] Connection timed out
Durée du traitement = 60.43 secondes
Merci @Gaston_Phone !
Je n'ai pas de SQL privé, mais il serait intéressant si ton **_serveur SQL Privé_** tourne ou non.
Personnellement, j'arrêterai puis redémarrerai mon **_serveur SQL Privé_**
Merci de ta réponse,
j'ai déjà tenté cet aprem. Rien de nouveau. C'est vraiment bizarre quand même car même le script que tu m'as donné donne un timeout ! ...
Je comprends pas, j'ai ré-essayé à partir de 0 en prenant un script qui fonctionne sur un autre serveur privé... Timeout :scream:
Bonjour,
J'ai le même message d'erreur sur un SQL Privé aussi.
Je me connecte via phpMyAdmin sans problèmes.
J'utilise le même script de connexion sans problème sur une autre base de données :
new PDO("mysql:host=$servername;port=$port;dbname=$dbname",$username,$password);
J'ai redémarré plusieurs fois le serveur.
LucasM as-tu résolu ton problème si oui, comment ?
Cordialement,
JF
Bonjour Boulvard,
Quand tu dis que ça fonctionne, c'est en changeant les paramètre dans le fichier de configuration du CMS.
Dans mon cas mon site se connecte sans problème à la base (avec un host de type "blablabla.privatesql:35347"), mais c'est quand j'essaye d'établir une connexion pour une tâche cron.
Si je conserve un host "blablabla.privatesql:35347" comme tu indiques, j'ai un message d'erreur qui me dit que l'host est inconnu, ce qui me semble normal il faut bien rajouter dans ce cas ".ovh.net" et donc avoir une adresse "blablabla.privatesql.ovh.net:35347", non ?
$DBhost = "MONSQLPRIVE.privatesql.ovh.net";
$DBowner = "MONLOGIN";
$DBpw = "MONpasswORD";
$DBName = "NOMDB ";
$DBPort = "NUMEROPORT";
If ($DBPort == "")
{
$DBconnect = "mysql:dbname=".$DBName.";host=".$DBhost;
}
Else
{
// Serveur SQL PRIVE de OVH
$DBconnect = "mysql:dbname=".$DBName.";host=".$DBhost.";port=".$DBPort;
}
echo " \$DBconnect = '" .$DBconnect. "'
";
echo "
\n";
try
{
// *************************************************************
// * Connexion à une base ODBC avec l'invocation de pilote *
// *************************************************************
echo " Etablissement de la connexion SQL en mode PDO
";
$pdo = new PDO($DBconnect, $DBowner, $DBpw);
echo " new PDO = OK
\n";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
réponse PDO exception timeout
Les 2 cas sont possibles :
* Port accroché à l'adresse du serveur SQL (après un ":")
* Port dans ;port=".$DBPort;
Bonjour,
vous êtes bien sur l'image stable au niveau du .ovhconfig ?
Cordialement, janus57
Il ne faut plus aller en legacy c'est le vieil environnement...
Bonjour,
J'ai "résolu" le problème.
Initialement ma tâche cron tournait sur le serveur d'hébergement et pour le débogage j'avais migré sur mon serveur en localhost.
Ça m'a permis de tester une partie du script, mais pour une raison que je n'ai pas trouvé une des deux connections ne pouvaient pas être établies depuis ce serveur localhost (ouverture de port? firewall ?).
En faisant tourner le script depuis mon hébergement cette deuxième connexion fonctionne.
Merci à tous pour votre aide.
Bonjour,
C'est avec plaisir que je vous aurai aidé en vous mettant ma solution mais je viens tout juste de consulter mes mails et donc de voir que vous aviez eu un problème similaire.
Désolé,
Cordialement,