Atreides78: file_get_contents: Error bei Browser / KEIN Fehler bei php -e

Hallo,

ich hoffe ich kriege hier einen passenden Tipp - bin langsam am verzweifeln:

Ich habe 2 Systeme. System 1 ruft einen Link auf System 2 auf - als Reaktion ruft System 2 auf System 1 (mit den von System 1 übergebenen Daten) einen Link auf System 1 auf um den Zugriff zu validieren.
System 1 liefert entweder "OK" oder "NOT OK".

Realisiert habe ich das über file_get_contents in auth.php (System 2):

  
$url="http://<IP System1>/authorize.php?id=$id&lsession=$lsession";  
print $url;  
$inhalt = file_get_contents($url) or die ("Error");  
print $inhalt;  

Nun das "komische":

Wenn ich über den Aufruf von System 1 mache, bekomme ich immer "Error" (über Browser).

Direkt die URL im Browser aufgerufen kommt entweder "OK" oder "NOT OK" (je nach Daten).

Direkt von System 2 über "php -e auth.php" bekomme ich eine Antwort von der URL.

Hat jemand da einen Tipp?

Vielen Dank im Voraus!

  1. Hallo,

    Hat jemand da einen Tipp?

    Kann es sein dass PHP im Webserver keine URLs per file_get_contents holen darf (allow_url_fopen=false)?

    Denn theoretisch kannst Du ja (glaube ich) dem Server das verbieten, während Du es auf der Konsole erlaubst.

    Viele Grüße,
    Jörg

    1. Hallo,
      »» Hat jemand da einen Tipp?
      Kann es sein dass PHP im Webserver keine URLs per file_get_contents holen darf (allow_url_fopen=false)?

      Denn theoretisch kannst Du ja (glaube ich) dem Server das verbieten, während Du es auf der Konsole erlaubst.

      Viele Grüße,
      Jörg

      Die Idee hatte ich auch schon - allow_url_fopen ist "On"
      laut php -i.

      php-Code von einem "anderen" Server konnte ich holen. Ist es evtl. eine Firewall-Problematik?

      1. n'abend,

        Die Idee hatte ich auch schon - allow_url_fopen ist "On"
        laut php -i.

        Ist ja fein, dass du überprüfst ob die Direktive in der CLI-Umgebung aktiviert ist. Du willst diese Information aber für die Webserver-Umgebungen haben. <?php echo phpinfo(); ?> liefert die selben Infos wie php -i. Schau dir die Infos vom Webserver genauer an.

        weiterhin schönen abend...

        --
        #selfhtml hat ein Forum?
        sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
        1. Also:

          hab jetzt {:.language-php}phpinfo() eingebaut - per Browser:

          allow_url_fopen On On
          auch per "php -e" On On

          error_get_last() liefert folgendes (Browser): {:.language-php}[function.file-get-contents]: failed to open stream: Connection refused

          Deutet wohl eher auf ein Problem der Gegenseite hin, oder?

          1. Hi,

            error_get_last() liefert folgendes (Browser): {:.language-php}[function.file-get-contents]: failed to open stream: Connection refused

            Deutet wohl eher auf ein Problem der Gegenseite hin, oder?

            Dann werte die Logs der "Gegenseite" aus.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
    2. Hallo Atreides78,

      | Hat jemand da einen Tipp?
      Kann es sein dass PHP im Webserver keine URLs per file_get_contents holen darf (allow_url_fopen=false)?

      nochmals nachgehagt: Kann es sein dass PHP im WEBSERVER keine URLs per file_get_contents holen darf?

      $ php -i ist vermutlich die CLI-Version PHPs. Diese aber nutzt zur Konfiguration php-cli.ini, nicht die php.ini/php-apache(2)handler.ini!

      Gruß aus Berlin!
      eddi

      --
      Ab einem gewissen Erkenntnisstand ist die Versuchung wohl zu groß, in diesem und seinen begleitenden Errungenschaften zu verharren.
      Das nenne ich Aufblick zu den Stufen des Tempels von der geistigen Gosse aus!
      1. Hallo Edgar,

        ich habe mir den Inhalt einer anderen Datei auf einem anderen Server holen können - sofern gehe ich mal davon aus, das bzgl. allow_url_fopen alles in Ordnung ist.

        Gruss

        Atreides78

        Hallo Atreides78,

        »» | Hat jemand da einen Tipp?
        »» Kann es sein dass PHP im Webserver keine URLs per file_get_contents holen darf (allow_url_fopen=false)?

        nochmals nachgehagt: Kann es sein dass PHP im WEBSERVER keine URLs per file_get_contents holen darf?

        $ php -i ist vermutlich die CLI-Version PHPs. Diese aber nutzt zur Konfiguration php-cli.ini, nicht die php.ini/php-apache(2)handler.ini!

        Gruß aus Berlin!
        eddi