Texter mit x: PHP Unterschied bzw. Bedeutung von Non Thread Safe / Thread Safe

Ich wollte mir gerade php für Windows runterladen.

Was ist der Unterschied zwischen Non Thread Safe und Thread Safe? Bzw. was bedeutet das?

  1. Ich wollte mir gerade php für Windows runterladen.

    Was ist der Unterschied zwischen Non Thread Safe und Thread Safe? Bzw. was bedeutet das?

    Sei ehrlich, du hast nicht selbst gesucht oder? :)

    http://de.wikipedia.org/wiki/Threadsicherheit allgemein

    und in diesem Kontext genauer: Difference between PHP thread safe and non thread safe binaries

    1. Ich wollte mir gerade php für Windows runterladen.

      Was ist der Unterschied zwischen Non Thread Safe und Thread Safe? Bzw. was bedeutet das?

      Sei ehrlich, du hast nicht selbst gesucht oder? :)

      Doch, dort wo ich es runterladen wollte. Unter "Which version do I choose?" wird aber nur der Unterscied zwischen VC6 und VC9 behandelt und sonst habe ich auf der site nichts gefunden was meine Frage beantwortet.

      Ich muß aber zugeben, daß ich die Begriffe für zu allgemein gehalten habe um allgemein danach zu suchen. Ich hatte auch erwartet, daß es was mit "Windows-Interna" zu tun hat und ich kaum spezifische Antworten finden würde, wenn ich so allgemein suche.

      und in diesem Kontext genauer: Difference between PHP thread safe and non thread safe binaries

      Was das nun für mich bedeutet weiß ich noch nicht so recht. Kann es sein, daß ich php unter Windowas ohne webserver aber auch ohne IIS benutze? Von IIS habe ich noch nie gehört - mich zwar jetzt informiert, aber ich glaube nicht, daß ich das installiert habe.

      Mein Kollege, der mir das bei sich vorgeführt hat (mit VC9 x86 Non Thread Safe), hat Windows auf Linux laufen, da weiß ich erst recht nicht, woran ich mich halten soll.

      1. Kann es sein, daß ich php unter Windowas ohne webserver aber auch ohne IIS benutze?

        Sicher, du kannst den PHP-Interpreter per Commandline ausführen - du musst nicht notwenidigerweise einen Webserver haben. Weder Apache noch IIS.

        1. Kann es sein, daß ich php unter Windowas ohne webserver aber auch ohne IIS benutze?

          Sicher, du kannst den PHP-Interpreter per Commandline ausführen - du musst nicht notwenidigerweise einen Webserver haben. Weder Apache noch IIS.

          So dacht ich es auch. In dem Artikel geht es doch aber nur um CGI und IIS oder habe ich was überübersetst? Ist es also egal, welche Version ich nehme oder muß ich "save" nehmen?

          1. So dacht ich es auch. In dem Artikel geht es doch aber nur um CGI und IIS oder habe ich was überübersetst?

            Das ist lt. dem artikel auch der Grund, warum überhaupt in Thread-Safe und Non-Thread-Safe aufgespalten wurde.

            Ist es also egal, welche Version ich nehme oder muß ich "save" nehmen?

            Wenn du die Thread-Safe-Version nimmst, bist du auf der sicheren Seite - so hat PHP immer schon funktioniert, solltest du wirklich mal mit mehreren Threads deinen PHP-Interpreter ansprechen - musst allerdings bei massiver Benutzung des PHP-Interpreters mit schlechterer Performance leben. Die Angaben Schwanken da beim IIS zwischen 25 und 50 % (der genannte Artikel sagt 40 %), ob das Standalone (also ohne IIS und ISAPI/CGI) auch einen Unterschied macht, kann ich dir nicht sagen.

            1. OK, ob das Ding 1,5 oder 5 Minuten läuft ist egal, dann gehe ich auf Nummer Sicher. Danke für deine Antworten.

          2. Kann es sein, daß ich php unter Windowas ohne webserver aber auch ohne IIS benutze?

            Sicher, du kannst den PHP-Interpreter per Commandline ausführen - du musst nicht notwenidigerweise einen Webserver haben. Weder Apache noch IIS.

            So dacht ich es auch. In dem Artikel geht es doch aber nur um CGI und IIS oder habe ich was überübersetst? Ist es also egal, welche Version ich nehme oder muß ich "save" nehmen?

            Der IIS ist bei Windows kostenlos mit dabei, wird standardmässig aber nicht installiert. Zum installieren (Win7) einfach in der Systemsteuerung unter Programmer und Funktionen auf der linken Seite auf "Windows Funktionen aktivieren oder deaktivieren" klicken. Aus der Liste einfach "Internetinformationsdienste raussuchen, Häcken machen und OK. Damit wird der IIS installiert.

            Ansonsten findet sich hier ne ganz gute Anleitung: Klick mich

            Bitte auf keinen Fall einen von den Php-Installern verwenden. Die machen die meiste Zeit mehr Probleme als das sie helfen und so schwer ist die Installation von Php manuell auch nicht.

            1. Bitte auf keinen Fall einen von den Php-Installern verwenden. Die machen die meiste Zeit mehr Probleme als das sie helfen und so schwer ist die Installation von Php manuell auch nicht.

              Bei meinem Kollegen hat es auf Anhieb funktioniert und ich soll jemandem ein in php geschriebenes Programm lokal zur Verfügung stellen für den "so schwer ist das nicht" nicht gilt. Daher frage ich mal, von was für Problemen redest Du?

              1. Daher frage ich mal, von was für Problemen redest Du?

                Hier auf Firma hatten wir als ich angefangen hab das Problem das auf dem Liveserver php ums verrecken nicht als Fast-CGI-Modul im IIS einrichtbar war. Einstellungen in der ini und im IIS hab ich allesamt korregiert, dennoch, der php-Process als Fast-CGI ist immer nach dem Start abgeschmiert.
                Nach einigem reden kam raus, das php immer mit dem Installer eingerichtet worden ist.

                Nachdem ich mir die gleiche Version runtergeladen hatte und manuell installiert, lief das Ganze wie geschmiert.

                Auf unserem dev-Server hingegen ging php auch mit installer. Hab auch schon von anderen Problemen miit dem installer gehört/gelesen. Allerdings allesamt nicht reproduzierbar auf anderen Maschinen.

                Man kann also den installer schon verwenden, aber immer mit dem Risiko das irgendwelche seltsamen Probleme auftauchen die man nicht unbedingt sofort als "Installer-Bug" identifiziert sondern oft erstmal ein paar Stunden mit Fehlersuche verbrät.

                mfg
                Flanna

                1. Laufen tut es zwar, aber erst nachdem man ein paar Fehlermeldungen weggeklickt hat, das ist kein Zustand.

                  Die eigentliche Aufgabe, das Programm lokal verfügbar zu machen, habe ich jetzt erst mal mit roadsend gelöst. Nur langsam ist die exe die da rauskommt, ca. 10% der php-Geschwindigkeit.