SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 27.02.2006, 12:36:45
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: fopen() ohne Überschreiben

Ich benutze für ein einfaches Skript nicht einmal
PHP-Code:
  flock($general_dateiLOCK_EX);
flock($general_dateiLOCK_UN); 
und habe trotz diverser gleichzeitiger Zugriffe nie eine Datei gelöscht bekommen.
Mit Zitat antworten
  #12  
Alt 27.02.2006, 12:43:12
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: fopen() ohne Überschreiben

Zitat:
Zitat von Giz
Ich benutze für ein einfaches Skript nicht einmal
PHP-Code:
  flock($general_dateiLOCK_EX);
flock($general_dateiLOCK_UN); 
und habe trotz diverser gleichzeitiger Zugriffe nie eine Datei gelöscht bekommen.
wie greifst du denn gleichzeitig auf eine datei zu? mit zwei pcs die absolut synchron einen befehl ausführen? fände interessant, wie man so etwas mit absicht produzieren kann.
Mit Zitat antworten
  #13  
Alt 27.02.2006, 12:44:28
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: fopen() ohne Überschreiben

Zitat:
Zitat von Heppi
Jetzt ist ein DBMS ja so gesehen aber auch nur ein Treiber, welcher die Zugriffe und alles auf die Datenbank verwaltet. Wie sieht da dann die unterste Treiberschicht aus? Wie wird hier vermieden, daß zwei gleichzeitige Zugriffe stattfinden?
so lange nur ein cpu-kern werkelt, ist eh erst mal alles sequentiell. und selbst bei mehreren cpus dürfte die abwicklung der datenbank sequentiell sein, anders macht es ja auch keinen sinn, da es sonst auch hier zu oben genannten fehlern käme.
Mit Zitat antworten
  #14  
Alt 27.02.2006, 12:46:26
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: fopen() ohne Überschreiben

Zitat:
Zitat von feuervogel
wie greifst du denn gleichzeitig auf eine datei zu? mit zwei pcs die absolut synchron einen befehl ausführen? fände interessant, wie man so etwas mit absicht produzieren kann.
Naja, ich gehe jedenfalls davon aus, dass ich gleichzeitig darauf zugreife, da ich manchmal Probleme bekomme daraus zu lesen, wenn sich herausstellt, dass gleichzeitig weitere Zugriffe erfolgten oder wenn das Schreiben sehr lange dauert.
Ich benutze das jedenfalls schon eine ganze Weile und MIR ist nie was gelöscht worden, dann frage ich mich eben, wieso Heppi schon mehrfach die Datei gelöscht wurde...?! Hatte ich etwa wirklich nur Glück?
Mit Zitat antworten
  #15  
Alt 27.02.2006, 12:58:27
Heppi Heppi ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Leutkirch im Allgäu
Beiträge: 79
AW: fopen() ohne Überschreiben

Das Log-File wird bei mir folgendermaßen ausgelesen:
PHP-Code:
$log_inhalt implode(''file($log_file)); 
Mit Zitat antworten
  #16  
Alt 27.02.2006, 13:02:11
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: fopen() ohne Überschreiben

Zitat:
Zitat von Giz
Hatte ich etwa wirklich nur Glück?
sieht so aus.
Mit Zitat antworten
  #17  
Alt 27.02.2006, 13:05:29
Heppi Heppi ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Leutkirch im Allgäu
Beiträge: 79
AW: fopen() ohne Überschreiben

Hatt das ganze Skript erst ohne das Sperren und wieder Freigeben am laufen und hatte dann die Probleme, das immer wieder Daten gelöscht werden (die Datei bleibt erhalten, sie ist lediglich leer). Dann hatte ich das mit Sperren versucht und den gleichen Effekt.
Das ganze passiert mit einer Häufigkeit im Promill-Bereich. Daher schließe ich ein gleichzeitiges Zugreifen eigentlich aus - kann ich mir einfach irgendwie nicht vorstellen.
Das ganze passiert auf 25 verschiedenen Seiten immer wieder mal.

Allerdings habe ich noch ca. 15 Gästebücher laufen, welche mit genau der gleichen Technik arbeiten. Hier hatte ich so ein Problem noch gar nie, was wiederum auf den geleichzeitigen Zugriff hindeuten würde, weil hier wesentlich weniger Zugriffe vorhanden sind.
Das ist beim Auslesen der Datei noch nie irgendwas "verloren" gegangen.
Mit Zitat antworten
  #18  
Alt 27.02.2006, 13:08:04
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: fopen() ohne Überschreiben

Zitat:
Zitat von feuervogel
sieht so aus.
Aha. Aber wie vermeide ich dann, dass mir irgendwann sowas passiert? flock scheint es ja nicht zu bringen... oder erst dadurch tauchen wirklich die Probleme auf??!!!??
Oder liegt es vielleicht daran, dass ich statt
PHP-Code:
fopen($general_file'w'); 
generell
PHP-Code:
fopen($general_file'a'); 
verwende??!!

@Heppi : Sieht doch gut aus... hast Du trotzdem mal über meine vorgeschlagene alternative nachgedacht? Dann kannst Du jedenfalls auch auf
PHP-Code:
fopen($general_file'a'); 
umschwenken und hast das Problem vielleicht behoben?
Mit Zitat antworten
  #19  
Alt 27.02.2006, 13:10:38
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: fopen() ohne Überschreiben

Zitat:
Zitat von Heppi
Hatt das ganze Skript erst ohne das Sperren und wieder Freigeben am laufen und hatte dann die Probleme, das immer wieder Daten gelöscht werden (die Datei bleibt erhalten, sie ist lediglich leer). Dann hatte ich das mit Sperren versucht und den gleichen Effekt.
Das ganze passiert mit einer Häufigkeit im Promill-Bereich. Daher schließe ich ein gleichzeitiges Zugreifen eigentlich aus - kann ich mir einfach irgendwie nicht vorstellen.
Das ganze passiert auf 25 verschiedenen Seiten immer wieder mal.

Allerdings habe ich noch ca. 15 Gästebücher laufen, welche mit genau der gleichen Technik arbeiten. Hier hatte ich so ein Problem noch gar nie, was wiederum auf den geleichzeitigen Zugriff hindeuten würde, weil hier wesentlich weniger Zugriffe vorhanden sind.
Das ist beim Auslesen der Datei noch nie irgendwas "verloren" gegangen.
Arbeitest Du bei den Gästebüchern auch mit "w" oder mit "a" ?
Mit Zitat antworten
  #20  
Alt 27.02.2006, 13:11:38
Heppi Heppi ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Leutkirch im Allgäu
Beiträge: 79
AW: fopen() ohne Überschreiben

Zitat:
Zitat von Giz
Arbeitest Du bei den Gästebüchern auch mit "w" oder mit "a" ?
Auch mit "w". Hatte noch nie mit "a" gearbeitet.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
fopen Parameter Franzx PHP Grundlagen 5 19.01.2006 11:30:02
fopen() - Sicherheitslücke? Gweilo Off Topic Area 2 18.01.2005 17:55:43
fopen mit url gibt fehler ?! kruschde PHP für Fortgeschrittene und Experten 3 14.12.2004 15:02:28
Probleme mit fopen andi_g PHP für Fortgeschrittene und Experten 0 13.03.2004 17:02:09
Problem mit Array und fopen() DeMaephis PHP für Fortgeschrittene und Experten 1 07.12.2002 11:50:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:55:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt