PHP: get_current_user() vs. exec('whoami')
get_current_user()
(should) return the owner of the file, which isfirstnamelastname
in this case. There have been reported issues that this function is inconsistent between platforms however. As such, I would not trust its output.daemon
is the user Apache is running as.- The owner of the PHP script is the user who owns the file itself according to the operating system. You can run
ls -la
in the directory your scripts are in to find the user and group the file belongs to. - Whichever user you're editing your scripts with needs to be able to write it, so most likely,
firstnamelastname
(+rw
). - For the folder itself, you should have
+rx
(execute and read) fordaemon
and for the PHP file,+r
(read). On my installation of XAMMP, they've done this by setting everything inhtdocs
as public readable, thusdaemon
can read it, but not write to it. - Mac has a root account that typically owns the
htdocs
orwww
directory. It fills the role of a traditional unix root user.
Here is some information on the file owners/groups and the process owner:
host:~$ ls -l /Applications/XAMPP/xamppfiles/htdocsdrwxr-xr-x 3 root admin 4096 2015-01-01 00:01 .drwxr-xr-x 3 root admin 4096 2015-01-01 00:01 ..-rw-r--r-- 1 firstnamelastname admin 189 2015-01-31 20:45 index.phphost:~$ ps aux | grep httpd | head -n1 daemon 45204 0.0 0.1 2510176 10328 ?? S Tue11AM 0:01.38 /Applications/XAMPP/xamppfiles/bin/httpd -k start -E /Applications/XAMPP/xamppfiles/logs/error_log -DSSL -DPHP
If you wanted to make a file writeable by the daemon user, you can create a new folder and name it as the owner with the group admin
(so you can use it too), and give it +rwx
for the user and group, with +rx
for public:
host:~$ cd /Applications/XAMPP/xamppfiles/htdocshost:htdocs$ mkdir some_dirhost:htdocs$ chmod 775 some_dir