tha*_*nce 15 php unix apache xampp chmod
问题的简短版本:
get_current_user();和之间有什么区别
exec('whoami');?
长版问题:
我收到了这个错误:
file_put_contents(PDOErrors.txt):无法打开流:权限被拒绝...
所以我做了一些调查,似乎要解决这个问题,我需要将CHMOD文件PDOErrors.txt的设置更改为777.
但是,我的问题是关于别的.在这个过程中,我意识到我并没有清楚地理解userApache,PHP和MySQL 的概念.
get_current_user() "获取当前PHP脚本的所有者的名称" 链接exec('whoami')返回"拥有正在运行的php/httpd进程的用户名" 链接get_current_user(),我得到了我的firstnamelastname,这是我在Mac上的帐户名.exec('whoami'),我明白了daemon.所以...
firstnamelastname和daemon?之间的关系?firstnamelastname还是daemon?root帐户的概念是否在这里?编辑:我更新了这一点,以反映我不得不更改CHXOD设置的folderxyz.我不得不更改文件PDOErrors.txt的设置
OP在这里:为了将来的参考,我在这里提出了一个Linux平台的并行问题(附带直观的解释,发生了什么):https://stackoverflow.com/questions/31389892/why-is-the-output- WWW的数据功能于一身的病例和根合另一
Sam*_*amT 10
get_current_user()(应该)返回文件的所有者,firstnamelastname在这种情况下.然而,已经报道了这个功能在平台之间不一致的问题.因此,我不相信它的输出.daemon是Apache正在运行的用户.ls -la在脚本所在的目录中运行,以查找该文件所属的用户和组.firstnamelastname(+rw).+rx执行(执行和读取).在我安装XAMMP时,他们通过将所有内容设置为公共可读来完成此操作,因此可以读取它,但不能写入它.daemon+rhtdocsdaemonhtdocs或www目录.它充当了传统的unix root用户的角色.以下是有关文件所有者/组和进程所有者的一些信息:
host:~$ ls -l /Applications/XAMPP/xamppfiles/htdocs
drwxr-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.php
host:~$ 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
Run Code Online (Sandbox Code Playgroud)
如果您想让守护程序用户可以写入文件,您可以创建一个新文件夹,并将其命名为该组的所有者admin(因此您也可以使用它),并将其分配给+rwx用户和组,以及+rx公共:
host:~$ cd /Applications/XAMPP/xamppfiles/htdocs
host:htdocs$ mkdir some_dir
host:htdocs$ chmod 775 some_dir
Run Code Online (Sandbox Code Playgroud)