Ankündigung

Einklappen
Keine Ankündigung bisher.

php script funktioniert auf PC jedoch nicht auf dem Server

Einklappen

Neue Werbung 2019

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

  • php script funktioniert auf PC jedoch nicht auf dem Server

    Hallo,

    ich hoffe der Titel trifft mein Problem einiger maßen und hoffentlich habe ich überhaupt ins richtige Forum gepostet

    Ich habe diesen kleinen Hitcounter geschrieben ...
    PHP-Code:
    <?php

        $dateitotalhits 
    fopen("total-hits.txt","r+");

        
    $totalhits fgets($dateitotalhits,16);

        
    $totalhits++;

        echo 
    "Anzahl der Hits $totalhits";

        
    rewind($dateitotalhits);

        
    fwrite($dateitotalhits$totalhits);

        
    fclose($dateitotalhits);

    ?>
    ... und er funktioniert auch. Vorausgesetzt ich teste ihn auf meinem PC. Dort habe ich die neueste Version von xampp laufen. Natürlich möchte ich den counter wenn er irgendwann mal umfangreicher ist auf meiner Homepage laufen lassen. Der Server ist ein Raspberri Pi mit Raspian drauf. Apache 2 und php5 sind intalliert. Das php Script läuft auch soweit nur wird bei "echo" dann nur "Anzahl der Hits" ausgegeben und die Variable $totalhits wird gar nicht angezeigt. Eine weitere Fehlermeldung bekomme ich nicht. Die total-hits.txt ist definitiv vorhanden.

    Ich hoffe jemand hat eine Idee wie man den Counter zum laufen bringen kann

  • #2
    error_reporting aktiviert?
    PHP-Code:
    error_reporting(-1);
    ini_set('display_errors'1); 
    Und ich würde eher sowas verwenden, alleine schon wegen der racing conditions. http://jspit.de/?page=cache

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Danke das hat auf jeden fall schon mal was gebracht

      Ich bekomme jetzt Folgendes ausgegeben:

      Warning: fopen(total-hits.txt): failed to open stream: Permission denied in /home/pi/www/counter.php on line 7

      Warning: fgets() expects parameter 1 to be resource, boolean given in /home/pi/www/counter.php on line 9
      Anzahl der Hits
      Warning: rewind() expects parameter 1 to be resource, boolean given in /home/pi/www/counter.php on line 15

      Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/pi/www/counter.php on line 17

      Warning: fclose() expects parameter 1 to be resource, boolean given in /home/pi/www/counter.php on line 19
      Ich gehe mal davon aus, dass nur die erste Meldung relevant ist und der Rest daraus resultiert... richtig?

      Zeile 7 ist:
      PHP-Code:
      $dateitotalhits fopen("total-hits.txt","r+"); 
      das bedeutet also, dass das Script keine Berechtigungen hat um die total-hits.txt zu öffnen oder generell irgendwas damit anzustellen? Ich habe versucht mit verschiedenen Kommandos das in den Griff zu bekommen aber ich bin außerhalb der Windowswelt noch ziemlich unbeholfen und Google hat mir noch nicht helfen können. Weiß jemand wie ich dem Server die entsprechenden Rechte im ganzen Ordner geben kann?

      Kommentar


      • #4
        chown heisst das kommando, den user des webservers findest u.a. mit
        Code:
        ps aux | grep apache
        denke ich..

        Kommentar


        • #5
          Code:
          root      1889  0.0  2.1  25336  9572 ?        Ss    2014  26:58 /usr/sbin/apache2 -k start
          www-data 15503  0.0  1.6  25872  7536 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15504  0.0  1.8  25872  8288 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15505  0.0  1.6  25872  7556 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15506  0.0  1.6  25872  7556 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15507  0.0  1.6  25872  7552 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15668  0.0  1.6  25872  7536 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15669  0.0  1.6  25872  7560 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15670  0.0  1.6  25856  7508 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15697  0.0  1.6  25856  7516 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          www-data 15764  0.0  1.6  25748  7572 ?        S    Jan25   0:00 /usr/sbin/apache2 -k start
          pi       16585  0.0  0.2   4148   904 pts/0    S+   19:19   0:00 grep --color=auto apache
          Wie soll ich daraus schlau werden ? der /var/www ordner ist nicht mal in der liste. Und über chown bin ich schon gestoßen aber bin daraus nicht schlau geworden.

          Kommentar


          • #6
            Code:
            chown -R  www-data:www-data /var/www
            wenn du es brachial machen willst.

            sonst google halt mal die stichworte.

            den link von hausl würd ich mir auch mal anschauen!

            Kommentar


            • #7
              Was meinst du mit brachial^^? man sagte mir dass das unter Umständen Sicherheitslücken aufreißen kann. Bezieht sich das darauf?

              Kommentar

              Lädt...
              X