Aller au contenu

Ouvrir un fichier de façon persistante


NorSeb

Sujets conseillés

Plus précisément, le but du jeu consiste à passer des données dans un tube nommé (fichier) qui est ouvert en lecture par un script unix.

C'est un script PHP qui est chargé d'ouvrir ce fameux tube en écriture pour y injecter les données. On s'est aperçu que le fait de le "fermer" désactive non seulement les droits en écriture mais aussi les droits en lecture ! La solution consisterait donc à rendre l'ouverture du fichier persistante...

Lien vers le commentaire
Partager sur d’autres sites

On s'est aperçu que le fait de le "fermer" désactive non seulement les droits en écriture mais aussi les droits en lecture !

Je me suis mal exprimé, il ne s'agit pas d'un problème de droits.

En réalité, le fichier est ouvert en lecture par un processus lui-même lançé par un script unix.

Le même fichier peut être simultanément ouvert en écriture par un script php pour y déposer des données. Or la fin du script entraîne la fermeture en écriture du fichier et (c'est là que le bat blesse) ferme le fichier ouvert en lecture par l'autre processus.

N'hésitez pas à me demander des précisions, ca ne s'éclaircit pour moi aussi que petit à petit :D

Lien vers le commentaire
Partager sur d’autres sites

La fin du script est considérée comme une fermeture implicite du fichier ?

Apparement oui... et le pire c'est le deuxième processus "détecte" une fermeture du fichier.

Lien vers le commentaire
Partager sur d’autres sites

Si j'ai bien compris, tu veux avoir une sortie d'ouverture persistante comme avec les database.

Ben, je n'ai rien vu de la sorte dans la doc de PHP pour les fichiers.

La solution que j'emploierai serai de creer un deamon en C(++) qui ne servirait que de cache pour ce genre de connection, et PHP communiquerait avec ce deamon par des sockets.

C'est assez simple a faire.

A+

Lolo

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...