添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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 :slight_smile:

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 :slight_smile:
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 :wink:

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.