Nasıl bir dosya kolu kapalı olduğundan emin olmak için bir php komut dosyası zaman aşımına olur?

1 Cevap php

Ben xml bir mysql sorgu sonuçlarını saklayan php içinde bir önbellek sistemi yapı var. Özel bir yazma saplı bir kilit dosyası oluşturarak bina, ve sonra önbellek dosyası tamamlandıktan sonra kaldırın zaman önbelleği kilitleyin.

Komut dosyası zaman aşımına veya orta yürütme, yerine kilit dosyası bırakarak, senaryonun herhangi başka infaz yapmadan durur ya önbellek her zaman güncel olduğunu düşünüyorum Ancak, zamanlar vardır.

Ben dosya, eski dakika bir sayısı olmak ve kilit yenilemek ve yürütmeye başlamak dosyaya özel bir yazma erişimi almak için çalışırken kontrol denedim, ancak dosya hala önceki sap ile açık ve ben açamıyorum görünür Geçerli işlem erişimi olan tek sağlamak ve dosyayı yeniden kilitlemek için yeni bir kolu.

Erişmek için komut orta yürütme durdurulur ise, herhangi bir açık dosya tanıtıcısı kapalı ve ilgili dosyaları gelecekteki işlemler için kullanılabilir almak emin olmak için bir yolu var mı?

Teşekkürler

1 Cevap

PHP yorumlayıcı böylece herhangi kilitlerin serbest, all açık dosyaları fclose() çağırır çıktığında. Belki henüz doğru sorun bulamadı.

Ancak, komut sona ermeden bir şeyler temizlemek için gerektiğinde - kullanım register_shutdown_function() . Komut bir hata ile sonlanır bile kayıtlı işlev çağrılır.