[PHP5] Kann serverseitig nicht auf Webseiten zugreifen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Der Zielhost ist bislang noch nicht genannt worden. Könntest du mal ein minimales Script publizieren, damit man das ggf. rekonstruieren kann?

    Kommentar


    • #17
      egal. ob der host eine domain, wie www.google.de oder http://localhost/ oder http://servername/

      Kommentar


      • #18
        Könntest du mal ein minimales Script publizieren, damit man das ggf. rekonstruieren kann?

        Kommentar


        • #19
          Hi, hab scheinbar das Problem gefunden, nur die Lösung dazu nicht!

          Es liegt an der Erstellung einer session mit session_start();

          Ab IIS7 muss ja gesonderte Rechte vergeben werden.

          In meinem Script, was ich über den Browser aufrufe, funktionieren die Session tadellos, allerdings wenn ich das script über den Server aufrufe, über eine Socket-verbindung, dann ist feierabend!

          Was könnte das Problem sein?

          Kommentar


          • #20
            Glaube kaum dass das das Problem ist, wenn das Skript beides mal das gleiche ist. Dem sollte es nämlich völlig egal sein, wie dieses aufgerufen wird.

            Kommentar


            • #21
              Doch ist es!

              Denn in dem Script was ich mit fsockopen aufrufe, in der klasse die dort inkludiert wird im construct ein session_start() gemacht. Wenn ich das auskommendiere funktioniert es.
              Allerdings in dem Script wo das fsockopen() gemacht wird, wird die Klasse auch benutzt, dort geht das session_start() aber!

              Ab IIS7 werden Session ja gesondert pro Account bzw. Indentiät gespeichert. Allerdings hab ich alle Tuts im Netz die eine Lösung dafür haben probiert und es geht trotzdem nicht.

              Kommentar


              • #22
                Kann mir Keiner hier helfen?

                Hier mal ein Skript zum Testen, was zeigt was nicht bei mir geht! Geht es bei euch???
                Er kann irgendwie ein vorhandene Session nicht lesen!

                Code:
                <?php
                    // Url zu diesem Skript
                    $strUrl = 'http://localhost/test.php';
                    
                    // Session wird gestartet
                    session_start();
                
                    // Bei Erfolg sollte diese Ausgabe kommen
                    if (isset($_GET['get'])) {
                        die('<h1>ES GEHT !!!</h1>');
                    }
                    
                    // Das externe Laden dieser Seite starten
                    if (isset($_GET['start'])) {
                        echo file_get_contents($strUrl.'?get=true&'.session_name().'='.session_id());
                    }
                
                    // Der Link zum Test
                    echo '<a href="'.$strUrl.'?start=true&'.session_name().'='.session_id().'">Zum Test hier klicken...</a>';
                ?>

                Kommentar


                • #23
                  Wenn ich das Skript auf einem Apache also via XAMPP teste, geht es ebenfalls nicht!

                  Ist das jetzt ein PHP-Bug???

                  Kommentar


                  • #24
                    Was genau passiert denn? Der Thread ist so wirr, dass ich nicht weiß was eigentlich schief geht oder wie eine Fehlermeldung lautet.

                    Kommentar


                    • #25
                      Also es scheint nicht möglich zu sein, ein Skript über file_get_contents(), fsockopen oder cUrl zu öffnen, wenn man eine vorhandene Session an das Skript mit übergibt!

                      Allerdings funktioniert der Aufruf mit gleicher URL und Parametern über den Browser ohne Probleme, nur via Script und den Funktionen nicht!

                      Das obrige Script zeigt das Problem! Es kommt ein HTTP Request failed!

                      Wenn man aber das session_start() weglässt, oder das Script ohne Übergabe der Session-ID aufruft, tritt der Fehler nicht auf!

                      Egal ob unter IIS oder Apache (XAMPP).

                      Kommentar


                      • #26
                        Läuft das aufgerufene Script auf dem selben Server?

                        Kommentar


                        • #27
                          Ja, das tut es!

                          Kommentar


                          • #28
                            Original geschrieben von TriphunEM
                            Kann mir Keiner hier helfen?

                            Hier mal ein Skript zum Testen, was zeigt was nicht bei mir geht! Geht es bei euch???
                            Er kann irgendwie ein vorhandene Session nicht lesen!

                            Code:
                            <?php
                                // Url zu diesem Skript
                                $strUrl = 'http://localhost/test.php';
                                
                                // Session wird gestartet
                                session_start();
                            
                                // Bei Erfolg sollte diese Ausgabe kommen
                                if (isset($_GET['get'])) {
                                    die('<h1>ES GEHT !!!</h1>');
                                }
                                
                                // Das externe Laden dieser Seite starten
                                if (isset($_GET['start'])) {
                                    echo file_get_contents($strUrl.'?get=true&'.session_name().'='.session_id());
                                }
                            
                                // Der Link zum Test
                                echo '<a href="'.$strUrl.'?start=true&'.session_name().'='.session_id().'">Zum Test hier klicken...</a>';
                            ?>
                            ehm. dir ist schon klar, das du aus der schleife nicht mehr rauskommst ? :P
                            dein // Das externe Laden dieser Seite starten ruft sich solange selber wieder auf, bis dein xampp dir irgendwann einen vogel zeigt

                            EDIT:
                            ich sollte mir angewöhnen wieder den ganzen thread zu lesen . tut es tatsächlich nur, wenn session_start(); drin bleibt


                            Zuletzt geändert von ; 30.03.2009, 14:52.

                            Kommentar


                            • #29
                              Nein!

                              PHP-Code:
                              die('<h1>ES GEHT !!!</h1>'); 
                              Sagt dir die Funktion "die()" etwas?
                              Also nix mit endlose Selbstaufrufe!
                              Schau dir auch die Parameter an, da wirst du sehen, das du falsch liegst!

                              Wie gesagt, das ist nur ein Test-Code...mein richtiger Code macht sowas nicht, und da gehts auch nicht.

                              Mich würd mal interessieren was der "Wasaga" dazu meint, der hat doch für alles immer eine Auskunft parat!
                              Zuletzt geändert von TriphunEM; 30.03.2009, 15:01.

                              Kommentar


                              • #30
                                Bei File-Based-Sessions tritt noch ein anderes Problem zutage:
                                Es wird ein exklusiver Lock auf das Session-File bei session_start() gelegt, was so lange wirkt, bis das Skript terminiert. Dann wird ein Skript aufgerufen, was auch wiederum ein session_start() aufruft und dort auf die Freigabe des Locks wartet und wartet und wartet und wartet. Dann irgendwann terminiert das Skript, der fsockopen-Aufruf schlägt fehl, und auch der erste Aufruf terminiert.

                                Der gesamte Ansatz ist hier wohl etwas wenig durchdacht.
                                session_write_close()
                                vor fsockopen hilft.

                                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                                Wie man Fragen richtig stellt

                                Kommentar

                                Lädt...
                                X