Non ho open_basedir, php può accedere a / etc / usr / proc / home etc ... ma non / tmp.
tmpfs è mount su / tmp (/ tmp type tmpfs (rw)) Questo è anche il motivo per cui voglio usare la cartella / tmp.
I miei file sono di proprietà di http (utente per nginx e php) e leggibili da tutti.
sudo -u http cat /tmp/file
funziona ma qualsiasi cosa all'interno di uno script php non funziona (come file_exist () o file ()).
modifica: l'errore mostra nel registro:
PHP Warning: file(/tmp/ydlw/pid): failed to open stream: No such file or directory in /srv/http/ydlw/status.php on line 267
edit2: ho provato il problema nell'altro modo. ho fatto
touch("/tmp/boo");
file_exist("/tmp/boo");
e file_exist restituiscono true in modo da creare il file. Poi ho guardato dentro / tmp e qui non è stato trovato nessun file "boo". Questo è ciò di cui avevo paura, php non «vede» il punto di mount. Perché è così e come posso ripararlo?
/tmp/ydlw/pid
esiste in /tmp
? In caso contrario, questo è il motivo del messaggio di errore.