Bonjour,
depuis très longtemps j'accède aux logs OSL de mon hébergement via un script PHP (ouverture du log et affichage trié, en gros)
depuis quelques temps (une ou deux semaines) ça ne fonctionne plus...
j'utilise deux méthodes pour tester la présence du fichier log: fopen et file_exists
l'url de récupération du fichier est celle-ci (à la place des **** je mets mon nick et son mot de passe associé, domaine représente mon hébergement)
https://*****:*****@logs.ovh.net/domaine.fr/osl/domaine.fr-02-08-2017.log
lorsque j'envoie cette url ainsi formatée dans firefox, ça passe impeccable
lorsque j'envoie cette url via file_exists en php ça ne fonctionne pas, lorsque je souhaite ouvrir avec fopen idem ça ne fonctionne pas.
Est-ce que vous avez des idées, pistes, pour corriger ce soucis, ou d'autres façons de faire pourquoi pas, mon but est de récupérer le fichier log, de le trier et d'afficher le résultat dans mon navigateur
par avance merci beaucoup et bonne journée
J'accède également aux logs via php pour surveiller certains accès, mais par contre je le fais avec curl, et là ça marche. Cf extrait script ci-dessous.
Quand tu dis "ça ne fonctionne pas"... C'est à dire ??? Tu as une erreur ? Un warning ? Rien du tout ?
$c = curl_init();
// définir URL (juste l'url logs.ovh.net/domaine.fr/etc.)
curl_setopt($c, CURLOPT_URL, $url_vers_log);
// on fait une requête GET
curl_setopt($c, CURLOPT_POST, false);
// on veut récupérer les données renvoyées par le serveur
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
// transmettre user et pwd
curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($c, CURLOPT_USERPWD, $user . ":" . $pwd);
// timeout
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($c, CURLOPT_TIMEOUT, 10);
// exécuter la requête
$output = curl_exec ($c);
// obtenir un code d'erreur HTTP
$i = curl_getinfo($c, CURLINFO_HTTP_CODE);
Dans
$output
tu auras le retour de l'exécution et dans
$i
le code erreur http (bien vérifier qu'il s'agit de HTTP 200, et non pas 403, 404 ou 500, entre autres).
Salut
aucune erreur ne s'affiche, aucun warning, je suis passé en development sur le fichier .ovhconfig dans le dossier contenant le script mais display_errors reste à Off (en plus) donc je suppose que les erreurs ne s'affichent pas. (peut-être que j'ai raté un truc de config)
Enfin bon, quand je génère une erreur volontaire dans le script j'ai un code http 500, donc si j'avais une erreur de code j'aurais ça aussi
Je pense plutôt à une erreur de droit d'accès en fait en passant par php, j'ai aussi ouvert un ticket du coup. (une histoire de contexte d'exécution peut-être)
L'idée de passer par curl est bonne , merci bien, je vais voir si je peux adapter rapidement mon script...
tu récupères le contenu du fichier dans $output c'est ça? ou tu as d'avantage d'infos dans ce $output?
merci d'avance
ok donc tests avec curl
on récupère bien dans $output le contenu du fichier uniquement
on peut aussi récupérer les headers avec une option.
quand je teste sur un fichier css d'un de mes sites, ça fonctionne nickel avec curl
quand je teste avec l'accès au og du jour, j'ai un code http 302...
j'ai ajouté quelques infos:
//suivre les relocations:
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
// obtenir un code d'erreur HTTP
$i = curl_getinfo($c, CURLINFO_HTTP_CODE);
$url = curl_getinfo($c, CURLINFO_EFFECTIVE_URL);
$urlredir = curl_getinfo($c, CURLINFO_REDIRECT_URL );
$redirect = curl_getinfo($c, CURLINFO_REDIRECT_COUNT );
dans l'effective url j'ai bien l'url visée
dans redirect je n'ai rien
dans count j'ai 1
et dans output rien
https://logs.ovh.net/domaine.fr/osl/domaine.fr-02-08-2017.log
A tout hasard, tu es sur le vieil environnement ? Legacy ?
Ou sur le nouveau ? Stable ?
https://docs.ovh.com/fr/fr/web/hosting/modifier-lenvironnement-dexecution-de-mon-hebergement-web/#comment-modifier-l-environnement-d-execution
Le legacy utilise une vielle version de openssl qui utilise des protocoles dépréciés.
Il vaut mieux passer sur le nouveau car tu risques d'avoir à l'avenir des problèmes pour chaque connexion https..
Merci
@Buddy
car j'ai eu le même problème.
OVH a dû faire une mise à jour quelque part : je lisais les logs et je n'avais pas d'erreurs avant.
Récemment j'ai les mêmes erreurs que
https://community.ovh.com/t/curl-error-60-ssl-certificate-problem/3895
avec des problèmes SSL de certificat.
En passant en environnement stable, ça roule
OVHcloud Community
Bienvenue sur votre espace communautaire.
Posez des questions, recherchez des informations, publiez
du contenu et interagissez avec d’autres membres d'OVHcloud Community.