cygnus: und Apache2.2

Hallo :)

Ich habe den Apache2.2 und die dazu passende PHP-Installer-Version installiert.
Die Installerversion hat unten aufgeführte Zeilen in die Apache httpd.config.Datei eingetragen, für die ich in Line 533 einen Syntaxerror erhalte. Das ist die Zeile mit dem zweiten Auftreten von PHPIniDir "C:/Programme/PHP/"

Meine Frage:
PHP soll als Modul eingebunden werden.Wenn ich die Zeilen für php-cgi auskommentiere, kommt eine weiterer Syntaxerror für das dritte Auftreten von PHPINidir
Welche der Zeilen muss ich denn auskommentieren?

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "C:/Programme/PHP/"
Action application/x-httpd-php "C:/Programme/PHP/php-cgi.exe"
PHPIniDir "C:/Programme/PHP/"
LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
PHPIniDir "C:/Programme/PHP/"
LoadModule php5_module "C:/Programme/PHP/php5apache2.dll"
PHPIniDir "C:/Programme/PHP/"
LoadModule php5_module "C:/Programme/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

mfg
cygnus

--
Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
  1. Hallo,

    Ich habe den Apache2.2 und die dazu passende PHP-Installer-Version installiert.

    nicht nur die, wie mir scheint.

    Die Installerversion hat unten aufgeführte Zeilen in die Apache httpd.config.Datei eingetragen, für die ich in Line 533 einen Syntaxerror erhalte. Das ist die Zeile mit dem zweiten Auftreten von PHPIniDir "C:/Programme/PHP/"

    Meinst du nicht vielleicht das dritte Vorkommen von PHPIniDir?

    PHP soll als Modul eingebunden werden.

    Aha. Guter Hinweis.

    Welche der Zeilen muss ich denn auskommentieren?

    Siehe Kommentarzeichen:

    #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
    ScriptAlias /php/ "C:/Programme/PHP/"
    #  Action application/x-httpd-php "C:/Programme/PHP/php-cgi.exe"
    #  PHPIniDir "C:/Programme/PHP/"
    LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
    PHPIniDir "C:/Programme/PHP/"
    #  LoadModule php5_module "C:/Programme/PHP/php5apache2.dll"
    #  PHPIniDir "C:/Programme/PHP/"
    #  LoadModule php5_module "C:/Programme/PHP/php5apache.dll"
    #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

    Überleg mal: Du willst PHP als Modul, nicht als CGI. Also wozu die Direktive mit php-cgi.exe? Raus damit.
    Du hast Apache 2.2, nicht 2.0, also was soll die Referenz auf die PHP-DLL für Apache 2.0? Raus damit.
    Dass die Direktive PHPIniDir dann nur noch einmal vorkommen sollte, ist eigentlich selbstverständlich.

    So long,
     Martin

    --
    Rizinus hat sich angeblich als sehr gutes Mittel gegen Husten bewährt.
    1. Hi,

      »» [...] einen Syntaxerror erhalte. Das ist die Zeile mit dem zweiten Auftreten von PHPIniDir "C:/Programme/PHP/"
      Meinst du nicht vielleicht das dritte Vorkommen von PHPIniDir?

      nein, Unsinn. Du meinst tatsächlich das zweite; das dritte wird dann schon gar nicht mehr beachtet.

      Ciao,
       Martin

      --
      Kleine Geschenke erhalten die Freundschaft.
      Große verderben sie aber meist auch nicht.
      1. Hallo Martin,

        nein, Unsinn. Du meinst tatsächlich das zweite; das dritte wird dann schon gar nicht mehr beachtet.

        Ich kann die Vorkommen schon gar nicht mehr zählen ...
        habe gerade noch eines gefunden, was bei der Installation automatisch eingetragen wurde.

        Wenn ich es so auskommentiere wie Du vorgeschlagen hast, dann wird die Seite jetzt zwar angezeigt (vorher war Seitenladefehler), aber PHP arbeitet nicht.

        Weiter oben findet sich noch mal das:

        #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
        #PHPIniDir "C:/Programme/PHP/"
        #LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
        #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

        Aber wenn ich da die Kommentarzeichen wegnehme, erhalte ich das gleiche wie mit der weiter unten stehenden Zeile: Seite wird angezeigt, aber PHP arbeitet nicht.

        Woran kann es denn noch liegen? Muss ich selbst noch irgendwo etwas eintragen?
        Leider verstehe ich die nur in Englisch vorliegenden Installationshinweise nur mangelhaft.

        mfg
        cygnus

        --
        Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
        1. Hallo :)

          Ich habe jetzt diese Einstellung gewählt:

          #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
          PHPIniDir "C:/Programme/PHP/"
          LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
          #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

          Den anschließenden längeren Kommentar mit dem doppelten Vorkommen des obigen Eintrags habe ich auskommentiert belassen.

          Jetzt startet der Apache nicht mehr.
          Ich bekomme beim Start diese Fehlermeldung:

          <OS 10048> Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
          :make_sock: could not bind to address 127.0.0.1:80
          no listening sockets available, shutting down
          Unable to opben locks

          Was bedeutet das?
          Ich wüsste nicht, wo es mehrfach verwendet wird.

          Ich habe diese Einträge in der httpd.config:

          Listen localhost:80

          ServerName localhost:80

          Aber sonst ist da nichts.

          mfg
          cygnus

          --
          Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
          1. n'Abend,

            <OS 10048> Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
            :make_sock: could not bind to address 127.0.0.1:80
            no listening sockets available, shutting down
            Unable to opben locks

            Was bedeutet das?

            es bedeutet, dass der Apache mehrmals (mindestens zweimal) versucht, am Port 80 (HTTP) auf 127.0.0.1, auf dem normalerweise Serveranfragen eintreffen, zu "lauschen". Das geht nicht, ein Port kann nur einmal geöffnet werden.

            Listen localhost:80
            ServerName localhost:80

            Der Servername darf AFAIK keine Portnummer enthalten; da darf wirklich nur der reine Hostname stehen.

            Die anderen Geschichten mit PHP habe ich noch nicht ganz durchschaut, ich melde mich nochmal. Oder du meldest dich und sagst, dass plötzlich alles funktioniert.
            ... 'tschuldigung, man darf doch noch träumen! ;-)

            So long,
             Martin

            --
            Das einzige Problem beim Nichtstun: Man weiß nie, wann man damit fertig ist.
            1. Hallo :)

              Listen localhost:80
              ServerName localhost:80

              Der Servername darf AFAIK keine Portnummer enthalten; da darf wirklich nur der reine Hostname stehen.

              Für den Tip schon mal ein Danke.
              Zumindest dieser Fehler ist schon mal verschwunden.
              ServerName localhost

              mfg
              cygnus

              --
              Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
          2. Hallo,

            #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
            PHPIniDir "C:/Programme/PHP/"
            LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
            #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

            diese zwei Direktiven sind -soweit ich das erkennen kann- korrekt, sie dürfen jedoch nur einmal in der Konfigurationsdatei auftauchen, und auch nicht innerhalb eines <Directory>-Containers, sondern quasi global.

            Damit PHP-Dateien auch wirklich als solche erkannt und an den Parser übergeben werden, brauchst du noch den Eintrag

            AddType application/x-httpd-php .php

            der ebenfalls global sein muss, also nicht in einem <Directory>-Container (am besten da, wo schon andere AddType-Direktiven stehen).
            Wenn man möchte, kann man noch die Direktive DirectoryIndex (die gibt's schon) ergänzen, so dass auch eine index.php im Verzeichnis automatisch aufgerufen wird:

            DirectoryIndex index.htm index.html index.php

            Die Reihenfolge der möglichen Index-Dateien kann nach eigenem Ermessen gewählt werden.

            Mehr habe ich in meiner Apache-Config nicht zum Thema PHP. Allerdings habe ich hier auf dem Schreibtisch auch noch einen Apache 2.0 - ich weiß nicht sicher, was sich zum 2.2er vielleicht noch geändert hat.

            Good luck,
             Martin

            --
            Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.
            1. Vielen Dank, Martin.

              Ich kann das alles frühestens morgen abend ausprobieren,
              werde aber auf jeden Fall noch mal berichten, ob es funktioniert.

              mfg
              cygnus

              --
              Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
            2. Hallo :)

              AddType application/x-httpd-php .php

              DirectoryIndex index.htm index.html index.php

              Good luck,

              Leider nein.
              PHP arbeitet auch mit diesen Zusätzen nicht.
              Trotzdem Danke für deine Mühe.

              Da habe ich xampp runtergeschmissen, weil wir es nicht mit Perl kombinieren konnten, und nun harmoniert die Einzelinstallation von Apache nicht mit PHP, aber Perl läuft.

              Jetzt frage ich mich, wen oder was ich jetzt runterschmeissen soll ...

              mfg
              cygnus

              --
              Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
              1. Hallo :)

                PHP arbeitet!

                Nach vielem Probieren stellte ich fest, dass es beim Apache 2.2 genügt, nur diese beiden Zeilen

                PHPIniDir "PHP/"
                LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"

                auszukommentieren, zuzüglich der Angabe

                DirectoryIndex index.htm index.html index.php unter <IfModule dir_module>

                Daraufhin wurde die gewählte Seite korrekt angezeigt.

                Apache und PHP sind bei mir unter C:/Programme installiert.
                PHPINIDir benötigt aber nicht den Pfad, sondern nur die Angabe PHP.
                Keine Ahnung warum - aber es geht wirklich nur so.

                mfg
                cygnus

                --
                Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...