La concurrencia de lectura de archivos planos es casi ilimitada (corríjame si me equivoco); pero, ¿cómo es la concurrencia para escribir? Considere un registro de acceso sencillo escrito (para las visitas) en PHP como para añadir una línea de detalle de acceso finalizó con \n
¿Cómo funciona LOCK para escribir registros en un archivo plano?
fopen(); // in append mode
fwrite();
fclose();
Ya que tenemos visitantes concurrentes, cómo el sistema (un usuario que es el usuario wbserver/php) escribir los registros de vista al mismo tiempo?
Mi confusión es: la función file_put_contents()
(que es un contenedor de las tres funciones anteriores) tiene una opción para el bloqueo (LOCK_EX
)? ¿Es beneficioso usar esta opción de bloqueo? ¿Cómo afectará esto la escritura del registro?
ACTUALIZACIÓN: Mi pregunta es acerca de cómo LOCK
originalmente funciona/afecta la escritura de registro en el archivo. No comparo file_put_contents
y fwrite
; incluso mi pregunta no está limitada a PHP
. La pregunta es sobre bloquear un archivo durante el proceso de escritura.
'file_put_contents()' tiene una opción para el bloqueo, compruebe el [Manual] (http://php.net/manual/en/function.file-put-contents.php). – yannis
@YannisRizos Como mencioné en la pregunta original, sé que 'file_put_contents' tiene' LOCK_EX'. Mi pregunta es cómo afecta escribir un registro de acceso. – Googlebot
Sí, tienes razón, obviamente mi comentario fue para la segunda revisión de la pregunta. Mala edición, esa. – yannis