probleme mit meinem apachen und php modul

Kampfgnom

Lt. Commander
Registriert
Jan. 2005
Beiträge
1.075
So mein wunderschöner Server auf meinem Dachboden läuft nun seit 36 tagen wunderbar durch. Ich ändere seitdem selten etwas und wenn dann nie an meinem Apache server, der lief ja bisher wunderbar.
Nunja, seit heute (gestern ging es definitiv noch) sind alle Dateien die per php fput() geändert werden einfach leer. Sprich mein Counter (cnt.txt) oder mein aktueller winamp status (winamp.txt) sind einfach leer.
Hier mal der zugehörige Code:
PHP:
$fp = fopen("includes/cnt.txt","r");//den counter auslesen
$zahl = fgets($fp,30);
fclose($fp);
$zahl++;
$fp = fopen("includes/cnt.txt","w");//den counter schreiben
fputs($fp,$zahl);
fclose($fp);
ich kann mir einfach nicht erklären wie sich so etwas über Nacht ändern soll. Auf jeden fall wird nach den Operationen da oben einfach nur der Inhalt der cnt.txt gelöscht. egal ob ich 1 oder 290 oder was auch immer reinschreibe...

Hier mal das ganze für die winamp.txt:
PHP:
    $filename = 'winamp.txt';
    $maxchar = 50;
        // check if Info Sender is calling the script
        if(isset($_GET['song'])) {

            // check if text file is writeable
            if(is_writable($filename)) {

                // check if we can open the text file
                if(!$handle = fopen($filename, 'w')) {
                     print 'Cannot open file ('.$filename.')';
                     exit;
                }

                // check if we can wite to the text file
                if(!fwrite($handle, htmlentities(stripslashes($_GET['song'])))) {
                    print 'Cannot write to file ('.$filename.')';
                    exit;
                }

            // close the door behind you
            fclose($handle);

            }

        } else {

            // grab song title from text file
            $songname = @implode('',@file($filename));

            // construct and print song title with link
            print((strlen($songname)>=$maxchar) ? substr($songname,0,($maxchar-2))."…" : $songname);

        }


Hier mein System:
CPU: AMD K6-III 400Mhz
Mainboard: Tyan S-1590-S
RAM: 128mB No-Name DDR200 + 32mB No-Name SDRAM 33Mhz
HD0: Maxtor 82187 A5 (2.54 GB) /
HD1: Maxtor 90845D4 (8GB) /home
OS: Debian GNU/Linux unstable (2.6.8-i386 "self-made")
Apache: 1.3.33 mit mod_php4

Ich habe bisher eigentlich alles selber hinbekommen was PCs angeht, aber das hier stellt mich vor ein Rätsel.

EDIT: So ich bin nunmal auch auf die Idee gekommen meine winamp.php (code oben) mal per hand aufzurufen. Und er sagt tatsächlich "Cannot write to file (winamp.txt)". fwrite($handle, htmlentities(stripslashes($_GET['song']))) schlägt fehl...
Dann habe ich mir mal die rechte angeguckt. Die waren wie immer. Dann hab ich die rechte mal auf 777 gesetzt. Selbes ergebnis. Was heißt das jetzt?

Hoffe ihr könnt mir helfen
 
Zuletzt bearbeitet:
Hey leute wasn los?

Ich will ja nicht ungeduldig erscheinen (ich bin es), aber nen Tag lang keine Antwort auf nen Thread hab ich hier im Board ja ewig nicht gesehn...

Sagt mir doch wenigsten auch nur kleinste Tipps. Wär ich ja schonmal froh drüber....
 
So nachdem mit hier ja keiner Helfen will habe ich das Problem wie folgt gelößt:

Einfach ein shellscript das per
echo $2 > $1
wenn ich also meinen counter neu schreiben will dann rufe ich im php-file
system("./write.sh includes/cnt.txt ".$zahl);
auf, und der schreibt mir meinen neuen counterstand dann in die datei.

PS: ein
system("echo ".$zahl." > includes/cnt.txt");
geht erstaunlicherweise nicht, obwohl ja die php datei sowie das shellscript vom selben user aufgerufen werden. sprich ein problem mit den rechten kann hier nicht vorliegen...

so far

mfg
 
Zurück
Oben