Andi: Apache und PHP unter OpenSuse 10.2

Hallo,

ich habe OpenSuse 10.2 mit Apache installiert.
Leider kann ich keine Dateien mit PHP erstellen.

Kann mir Vielleicht jemand einen Tipp geben, wie ich den Webserver so konfiguriere, dass ich Dateien erstellen kann.

PHP wird bei mir als Modul ausgeführt.
Safe-Mode = off

Die Dateien gehören meinem Benutzer.
Eine Änderung der Zugriffsrechte möchte ich nicht machen.

mfg Andi

  1. echo $begrüßung;

    Leider kann ich keine Dateien mit PHP erstellen.

    Wie genau äußert sich das? Aus einer Fehlermeldung kann man in vielen Fällen auch schließen, was nicht funktioniert.

    Kann mir Vielleicht jemand einen Tipp geben, wie ich den Webserver so konfiguriere, dass ich Dateien erstellen kann.

    Der Benutzer, unter dem der Webserver läuft, muss Schreibrecht für das Verzeichnis haben, in dem er Dateien erstellen soll.

    echo "$verabschiedung $name";

    1. Hallo,

      bei der Überprüfung, ob das Verzeichnis beschreibbar ist bekomme ich schon die "Meldung", dass ich keine Schreibrechte besitze.

      Die Dateien und Ordner kopiere ich oder erstelle sie mit dem Editor.
      Ein nachträgliches ändern aller Zugriffsrechte ist mir aber zu mühsam und zu fehleranfällig. Desshalb bin ich der Besitzer der Dateien.

      mfg Andi

      1. echo $begrüßung;

        bei der Überprüfung, ob das Verzeichnis beschreibbar ist bekomme ich schon die "Meldung", dass ich keine Schreibrechte besitze.

        "ich" ist sicher keine Benutzerkennung auf deinem Rechner.

        Die Dateien und Ordner kopiere ich oder erstelle sie mit dem Editor.
        Ein nachträgliches ändern aller Zugriffsrechte ist mir aber zu mühsam und zu fehleranfällig. Desshalb bin ich der Besitzer der Dateien.

        Es ist prinzipiell egal, wer der Besitzer einer Datei oder eines Verzeichnisses ist. Der Prozess, der schreiben will, braucht die entsprechenden Rechte. Und der Apache wird sicher nicht unter deiner Kennung laufen, sondern unter einer eigenen, die von phpinfo() im Abschnitt apache2handler angezeigt wird.

        echo "$verabschiedung $name";

        1. hallo dedlfix,

          bei aller Sympathie, aber:

          "ich" ist sicher keine Benutzerkennung auf deinem Rechner.

          ACK.

          der Apache wird sicher nicht unter deiner Kennung laufen, sondern unter einer eigenen

          immer noch ACK.

          die von phpinfo() im Abschnitt apache2handler angezeigt wird.

          Hier nun nicht mehr. Zum Vergleich einmal ein Ausschnitt aus meiner phpinfo (online). Der Abschnitt apache2handler sieht so aus:

          Apache Version               Apache/2.2.4 (Unix) (Gentoo) PHP/6.0.0-dev
          Apache API Version           20051115
          Server Administrator         christoph.schnauss@berlin.de
          Hostname:Port                www.christoph-schnauss.de:0
          Max Requests                 Per Child: 0 - Keep Alive: on - Max Per Connection: 100
          Timeouts                     Connection: 300 - Keep-Alive: 15
          Virtual Server               Yes

          Wo siehst du da eine "Kennung", die von irgendwelcher Relevanz für die Serverrechte wäre? Weggelassen habe ich im Zitat lediglich die beiden Angaben für "ServerRoot" und "Loaded Modules".

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          1. habe d'ehre Christoph

            Hier nun nicht mehr. Zum Vergleich einmal ein Ausschnitt aus meiner phpinfo (online). Der Abschnitt apache2handler sieht so aus:

            Apache Version               Apache/2.2.4 (Unix) (Gentoo) PHP/6.0.0-dev
            Apache API Version           20051115
            Server Administrator         christoph.schnauss@berlin.de
            Hostname:Port                www.christoph-schnauss.de:0
            Max Requests                 Per Child: 0 - Keep Alive: on - Max Per Connection: 100
            Timeouts                     Connection: 300 - Keep-Alive: 15
            Virtual Server               Yes

            Tja, lokal bei mir zeigt phpinfo() zusätzlich noch
            User/Group  www(70)/70

            man liest sich
            Wilhelm

  2. hallo,

    ich habe OpenSuse 10.2 mit Apache installiert.
    Leider kann ich keine Dateien mit PHP erstellen.

    Welche Fehlermeldung gibt es?

    PHP wird bei mir als Modul ausgeführt.

    Woraus schließt du das? Was sagt dir http://localhost/server-info?

    Die Dateien gehören meinem Benutzer.

    Das spielt nur eine untergeordnete Rolle.  Wichtig bei SUSE ist, daß das Modul nicht nur installiert, sondern von Apache auch geladen wird. Mit OpenSUSE 10.2 hast du mindestens einen Apache 2.2.3. Die Liste der zuladbaren Module (die Anweisung "LoadModule") steht bei SUSE in /etc/sysconbfig/apache2. Schau nach, ob dort "php5" enthalten ist.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Hallo,

      die Funktion is_writeable() gibt bei mir an, dass das Verzeichnis / die Datei nicht beschreibbar ist.

      PHP wird bei mir ausgeführt und die Angaben habe ich mit phpinfo() abgefragt.

      Es hat irgendetwas mit den fehlenden Rechten zu tun, leider weiß ich nicht wie ich den Server konfigurieren muss, damit ich ohne große Probleme mit PHP Dateien erstellen, bearbeiten usw. kann.

      mfg  Andi

      1. hallo,

        du drückst dich mit bewundernswerter Konsequenz vor der Antwort auf die einzig wichtigen Fragen:

        • Welche Fehlermeldung gibt es?
          Du hast ein log; und du hast _mindestens_ "error_reporting(E_ALL);" aktiviert. Also gibt es Fehlermeldungen. Wie lauten die konkret (also bitte "wörtlich")?
        • Was sagt dir http://localhost/server-info?
          Damit kannst du abfragen, ob das PHP-Modul tatsächlich aktiv ist; allerdings müssen dazu ein paar Einstellungen in der Serverkonfiguration vorgenommen werden.

        die Funktion is_writeable() gibt bei mir an, dass das Verzeichnis / die Datei nicht beschreibbar ist.

        Das ist eine ambivalente Mitteilung. Auch ein Verzeichnis bzw. eine Datei, das/die gar nicht erreichbar ist (weil nicht existent) ist eben "nicht beschreibbar".

        PHP wird bei mir ausgeführt und die Angaben habe ich mit phpinfo() abgefragt.

        Na gut, wenn phpinfo funktioniert ist das ein Zeichen, daß dein Apache tatsächlich mit PHP zusammenarbeiten kann.

        Es hat irgendetwas mit den fehlenden Rechten zu tun, leider weiß ich nicht wie ich den Server konfigurieren muss, damit ich ohne große Probleme mit PHP Dateien erstellen, bearbeiten usw. kann.

        Es wird dir kaum etwas anderes übrigbleiben, als mal ein Scriptbeispiel (meinetwegen auch mit is_writeable()) anzugeben, bei dem es mit dem Schreiben halt "nicht funktioniert". Ich bin überzeugt, daß es eine Lösung gibt, aber du hast bisher kaum mehr Information geliefert, als daß es eben "nicht funktioniert". Dazu gehört insbesondere, daß du angibst, auf welche Verzeichnisse denn dein PHP schreibend zugreifen soll. In der Regel sind irgendwelche Verrenkungen bzw. besonderen Anstrengungen bei der Rechtevergabe gar nicht nötig. Aber wenn man dir helfen möchte, müßte beispielsweise _auch_ erstmal bekannt sein, wie du denn bisher welche Rechte für welche Verzeichnisse und Dateien gesetzt hast.

        Und es gibt noch etwas: betrifft dein Problem deinen lokalen Rechner, den du zuhause stehen hast, oder geht es um irgendeinen bei einem Provider angemieteten Server?

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|