On Thu, 14 Nov 2024, Diego Zuccato wrote:
Ma quale sarebbe esattamente il problema? Se usi fpm, PHP gira con un suo utente diverso da Apache (www-data). Comunque eviterei l'uso della cartella socks.

spiego diversamante: ci sono diversi sensori ambientali che inviano [con dei post in modo asincrono] o vengono interrogati [o con un processo in cron, oppure richiamati dal processo che riceve i dati] e scrivono i dati su un file di log. Questo non è particolarmente critico in quanto cresce di circa 20 kB al giorno. in modo asincrono una richiesta di una certa pagina web deve ritornare un contenuto comprendente due valori, che sono per l'appunto il contenuto degli ultimi due campi dell'ultima riga del log [file CSV].
il tail può funzionare ma non mi pare elegante.
per quello avere quei due valori come unico contenuto di un file che puoi usare in tanti modi mi sembrava il più semplice. memcached non può essere usato come un file [passato come file di configurazione per un comando !].

La domanda la pongo in maniera diversa: c'è in uno dei fs tempfs, ossia che sta solo in ram, un posto dove possano essere dati accessi in scrittura a www-data e un altro gruppo, in lettura per tutti per creare questo file ? [il fatto che sia in ram non è un problema, i dati sono comunque presenti sul log, e se occasionalmente fosse vuoto è accettabile]

ho trovato a giro il suggerimento di usare /dev/shm che in effetti funziona. . vado con quello ? (tanto è un file di massimo 48 byte)

Soluzione alternativa al disco: usa memcached.
Il processo aggiorna la entry di memcache, e php la legge. Semplice, lineare, utile anche per altre cose.

Diego

--
Leonardo Boselli
Firenze, Toscana, Europa

Rispondere a