PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : flock Dateisperre



Romanday
25-03-2005, 08:51
Leider kann ich unter Suse9.2, (PHP 4.3.8 (cli) (built: Jan 12 2005 17:29:02))

nicht die Funktion flock() benutzen. PHP läuft hier auf einer reiserfs hd.
chmod 777 bringt auch nichts. Scheint wohl etwas mit der Prozess Hierarchie zu tun zu haben.

Bekommt ihr auch eine Fehlermeldung wenn ihr flock() benutzt?



$fd = fopen("/home/jr/public_html/Anatomie/notizen.txt" ,"w+");

if (flock($fp, LOCK_EX)) { // do an exclusive lock
fwrite($fp,$neue_notizen);
flock($fp, LOCK_UN); // release the lock
} else {
echo 'Konnte Datei nicht zum schreiben sperren.';
}

/*
Dateisystem Typ 1K-Blöcke Benutzt Verfügbar Ben% Eingehängt auf
/dev/hda4 reiserfs 9261152 5743052 3518100 63% /
*/

undefined
25-03-2005, 18:04
Kann es auch nicht, sehe dir deine Variablen genauer an ;)

Romanday
26-03-2005, 09:35
Kann es auch nicht, sehe dir deine Variablen genauer an ;)

Meinst Du???



$fd = fopen("/home/jr/public_html/Anatomie/notizen.txt" ,"w+");

if (flock($fp, LOCK_EX)) { // do an exclusive lock
fwrite($fp,'Kann es auch nicht, sehe dir deine Variablen genauer an');
flock($fp, LOCK_UN); // release the lock
} else {
echo 'Konnte Datei nicht zum schreiben sperren.';
}


Hast Du flock() mal ausprobiert?

Das war nun nicht das 1 zu 1 copy and paste Beispiel, Sorry.

Stammt von:
http://www.php.net/manual/en/function.flock.php


Unter Indianer I + PHP 4 >= 4.3 gab es keine Fehlermeldungen.
Liegt der Fehler nun beim Indianer II oder am Dateisystem?

Gaert
26-03-2005, 12:25
Bitte befolge den Hinweis von undefined... speziell was $fd und $fp angeht :D .

Gruß,

Gaert

PS: Ich kann mir kaum vorstellen, dass das irgendwo (egal auf welcher Rothaut) schonmal funktioniert hat.

Romanday
27-03-2005, 05:10
Bitte befolge den Hinweis von undefined... speziell was $fd und $fp angeht :D .


Werde mir mal eine neue Brille zulegen.;-)

undefined
27-03-2005, 11:06
Du solltest dir mal angewöhnen beim Proggen das error_reporting voll anzuheben. Dann fallen dir solche Fehler und Speicherlecks auch sofort ins Auge ;)
php4


ini_set( 'error_reporting', E_ALL );

php5


ini_set( 'error_reporting', E_ALL | E_STRICT );