Posso trovare quale utente viene eseguito il web server come in PHP?

Sto scrivendo una semplice web app in PHP che deve avere accesso in scrittura a una directory sul server, se la directory non è scrivibile Voglio visualizzare un messaggio di errore che spiega come impostare il proprietario della directory su chiunque sia il webserver essere gestito come (ad esempio www-data, nessuno) ma poiché la maggior parte delle persone non lo sa, sarebbe bello poter dire a chi mettere la directory. È ansible trovare questo da PHP?

Dai un'occhiata a shell_exec ()

<?php echo exec('whoami'); ?> 

Il trucco veloce e sporco che uso è scrivere un file in /tmp/ . Dovrebbe essere creato con l'utente e il gruppo utilizzati dal process PHP.

Sulle piattaforms Unix, questa soluzione potrebbe funzionare anche in modalità provvisoria, a condizione che l'estensione posix sia installata o compilata.

 $user = posix_getpwuid(posix_geteuid()); echo $user['name']; 

I documenti sono qui .

Se su linux / unix:

 <?php $temp = tmpfile(); print_r(posix_getpwuid(fileowner($temp))); ?> 

Se puoi eseguire alcuni bash, puoi usare whoami o potresti essere in grado di sondare in /proc

Quel messaggio di errore cade a pezzi in un ambiente Windows Server. "Assicurati che il server web abbia accesso in scrittura alla directory" è probabilmente un messaggio di errore migliore.