Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur fopen - failed to open stream (HTTP)

Sujet résolu
    19 septembre 2019 à 23:17:09

    Bonjour,

    En gros, je vous explique le contexte (ce sera plus simple).

    J'ai un serveur A (hébergement web chez OVH) et un serveur B (VPS chez OVH).

    Je suis sur le serveur A et j'essaie de créer un fichier sur le serveur B:

    $id = "test";
    $file_content = "test";
    $handle = fopen('https://url.com/'.$id, "w");
    fwrite($handle, $file_content);
    fclose($handle);

    Sauf que quand je vais sur la page, j'ai cette erreur:

    Warning: fopen(https://url.com/monid): failed to open stream: HTTP wrapper does not support writeable connections in /path/test.php on line 16

    La ligne 16 est la ligne où il y a le fopen.

    Mes 2 domaines utilise ssl (généré avec certbot). Le chmod du dossier d'arriver est 755 ce qui normalement suffit.

    De ce que j'ai pu déjà voir, c'est que ça viendrait de ma configuration PHP. Avec la commande "php -m" sur le serveur A, openssl est apparemment activé.

    Quelqu'un aurait une solution ?

    Cordialement.


    • Partager sur Facebook
    • Partager sur Twitter

    OMG OMG OMG

      20 septembre 2019 à 2:08:04

      Ce n'est pas une question de configuration, ça ne fonctionnera jamais un fopen en écriture en http:// Si c'était le cas, niveau sécurité, ce serait carrément zéro.

      Il faut que tu trouves une autre approche : tu mets un script sur le serveur B qui crée/écrit ton fichier et que tu appelles depuis A (quitte éventuellement à limiter l'accès au script sur B via IP et/ou authentification http et/ou ....)

      -
      Edité par julp 20 septembre 2019 à 2:12:17

      • Partager sur Facebook
      • Partager sur Twitter
        20 septembre 2019 à 16:43:13

        julp a écrit:

        Ce n'est pas une question de configuration, ça ne fonctionnera jamais un fopen en écriture en http:// Si c'était le cas, niveau sécurité, ce serait carrément zéro.

        Il faut que tu trouves une autre approche : tu mets un script sur le serveur B qui crée/écrit ton fichier et que tu appelles depuis A (quitte éventuellement à limiter l'accès au script sur B via IP et/ou authentification http et/ou ....)

        -
        Edité par julp il y a environ 14 heures


        Effectivement, après réflexion, ce serait pas très sécurisé xD

        Merci de la réponse j'ai pu résoudre le problème en mettant un script permettant de créer un fichier sur mon serveur B ;)

        • Partager sur Facebook
        • Partager sur Twitter

        OMG OMG OMG

        Erreur fopen - failed to open stream (HTTP)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown