Absturzursache

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

  • Absturzursache

    Hallo,

    durch welche Fehler können PHP Scripte Server zum Crashen bringen? Ich kenne bisher nur einen Grund, und zwar ein fehlendes mysql_close am Ende jeder php Datei. Gibt es noch weitere?


    MFG
    Benji

  • #2
    Re: Absturzursache

    Original geschrieben von Benji
    Hallo,

    durch welche Fehler können PHP Scripte Server zum Crashen bringen? Ich kenne bisher nur einen Grund, und zwar ein fehlendes mysql_close am Ende jeder php Datei. Gibt es noch weitere?


    MFG
    Benji
    Endlosschleife oder einem rekursiven Funktionsaufruf ohne Endbedingungen....

    Wobei auch dies auf den meisten Servern keine allzu argen Probleme verursachen dürfte, sodass der gesamte Server abstürzt. Vorher wird die php-bin gekillt.

    Auch das nicht-vorhandensein von mysql_close macht nichts. Wenn sich php zum Mysqlserver connected, beendet er diese automatisch beim Beenden des Scripts.

    Kommentar


    • #3
      Rekursive Pattern.......

      Das könnte den Apache killen
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #4
        Ich kenne bisher nur einen Grund, und zwar ein fehlendes mysql_close am Ende jeder php Datei. Gibt es noch weitere?
        Huh???
        Die Verwendung von mysql_close() ist für gewöhnlich nicht notwendig, weil offene, nicht persistente Verbindungen automatisch mit Beendigung des PHP-Skripts geschlossen werden.

        Kommentar


        • #5
          Re: Absturzursache

          Original geschrieben von Benji
          Ich kenne bisher nur einen Grund, und zwar ein fehlendes mysql_close am Ende jeder php Datei.
          wieso am Ende jeder Datei und wenn dann nur bei Windows Servern bei Linux IMHO nicht.

          Kommentar


          • #6
            Re: Re: Absturzursache

            Original geschrieben von asp2php
            wieso am Ende jeder Datei und wenn dann nur bei Windows Servern bei Linux IMHO nicht.
            ne, bei Windows auch nicht...zumindest hatte ich das Problem auf meinem Rechner noch nie (würd ich mich auch ziemlich aufregen, wenn mein Rechner bei jedem Skriptende sich aufhäng )

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

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

            Kommentar


            • #7
              Re: Re: Re: Absturzursache

              Original geschrieben von ghostgambler
              ne, bei Windows auch nicht...zumindest hatte ich das Problem auf meinem Rechner noch nie (würd ich mich auch ziemlich aufregen, wenn mein Rechner bei jedem Skriptende sich aufhäng )
              nicht sofort, aber mir der Zeit ...

              Kommentar


              • #8
                Re: Re: Re: Re: Absturzursache

                Original geschrieben von asp2php
                nicht sofort, aber mir der Zeit ...
                Nana, SO schlecht ist Windoof dann doch auch wieder nicht. Die vom OS gestellten Sockets "lösen" sich nach einer gewissen Zeit von alleine. Der Mysql-Server beendet die Verbindung im übrigen selbst nach einer kurzen Zeit, sodass der Server auch nach längerer Zeit keine Instabilitäten zu verbuchen hat.
                Jeder der schon einmal versucht hat mit nem Telnet-Client mit einem Mysql-Server zu verbinden, wird bemerkt haben, dass sich die Connection bereits nach etwa ~1Sek von alleine beendet. Nichts anderes geschieht im Zusammenhang mit PHP.

                Kommentar


                • #9
                  Das ist die Theorie. Hast du denn schon Apache-Webserver und MySQL auf Windows laufen, die 24 h 365 Tage online laufen, die einiges zu verkraften haben? Wenn du die Verbindung nicht vernünftig schließt, wirst du dann feststellen, dass irgendwann keine Resource mehr frei gibt, um irgend was zu machen, dann heißt es 'feel free for reboot'. Übrigens, wenn dem so ist, was denkst du, wofür mysql_close ist, ist doch überflüssig

                  Kommentar


                  • #10
                    Original geschrieben von asp2php
                    Das ist die Theorie. Hast du denn schon Apache-Webserver und MySQL auf Windows laufen, die 24 h 365 Tage online laufen, die einiges zu verkraften haben? Wenn du die Verbindung nicht vernünftig schließt, wirst du dann feststellen, dass irgendwann keine Resource mehr frei gibt, um irgend was zu machen, dann heißt es 'feel free for reboot'.

                    DAS hat mit dem eigentlichen System und der Speicherverwaltung zu tun. Wobei man auch sicherlich keinen XP-Rechner als Server nutzen sollte, da dieser einfach nicht dafür ausgelegt ist. Die Win2003-Server-Edition muss mit Sicherheit nicht annähernd so oft rebooted werden - auch unter härtesten Bedingungen.

                    Aber wer nutzt denn schon Windoof als Serverbetriebssystem?

                    Übrigens, wenn dem so ist, was denkst du, wofür mysql_close ist, ist doch überflüssig
                    Ich darf die Manual zitieren....
                    Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. See also freeing resources.
                    Im speziellen der letzte Satz beweist, dass auch das Nicht-Schließen der Verbindung keinen Datenmüll im Speicher hinterlässt.

                    Kommentar


                    • #11
                      Wer spricht denn von XP? Wer setzt Windows als Webserver ein, fragst du? Es gibt genug Firmen, die sowas machen. Nur weil du nicht das nötige Geld für die Lizenzen hast, versuchst du Windows zu deklassieren, nur um deine Armut zu vertuschen (j/k)

                      Wie gesagt, das ist die Theorie, die Praxis sieht eben anders aus.
                      Zuletzt geändert von asp2php; 31.01.2005, 20:57.

                      Kommentar


                      • #12
                        Original geschrieben von asp2php
                        Wer spricht denn von XP? Wer setzt Windows als Webserver ein, fragst du? Es gibt genug Firmen, die sowas machen. Nur weil du nicht das nötige Geld für die Lizenzen hast, versuchst du Windows zu deklassieren, nur um deine Armut zu vertuschen (j/k)
                        Jetzt hast du mich geoutet.
                        Spaß beiseite - ich habe bereits mehrere Windowsserver eingerichtet und eine Zeit lang selbst einen IIS am Laufen gehabt, jedoch aus internen Änderungen haben wir uns dazu entschlossen uns komplett davon loszusagen, wobei dies mit finanziellen Aspekten recht wenig zu tun hatte.

                        Wie gesagt, das ist die Theorie, die Praxis sieht eben anders aus.
                        Mit Win2003 wird die Theorie größtenteils in die Praxis umgesetzt.

                        Kommentar

                        Lädt...
                        X