问题的简短版本:
有什么区别
get_current_user();和exec(‘whoami’); ?
长版问题:
>我在Mac上的XAMPP Localhost上.
>我正在使用Apache,构建一个PHP
基于网站的文件夹(让我们称之为folderxyz)
htdocs文件夹(某些版本的Linux Apache中的var / www).
>我正在玩数据库连接,
测试这里描述的PDO :: ERRMODE_EXCEPTION:Link
我收到了这个错误:
file_put_contents(PDOErrors.txt): failed to open stream: Permission
denied…
所以我做了一些调查,似乎要解决这个问题,我需要将文件PDOErrors.txt的CHMOD设置更改为777.
但是,我的问题是关于别的.在这个过程中,我意识到我并没有清楚地理解Apache,PHP和MySQL中用户的概念.
> PHP手册说get_current_user()“获取当前PHP脚本的所有者的名称”Link
> PHP手册说exec(‘whoami’)返回“拥有正在运行的php / httpd进程的用户名”Link
>当我使用get_current_user()时,我得到了我的firstnamelastname,这是我在Mac上的帐户名.
>当我使用exec(‘whoami’)时,我会得到守护进程.
所以…
> firstnamelastname和守护进程之间的关系是什么?
>“当前PHP脚本的所有者”和“拥有运行的php / httpd进程的用户名”之间的关系是什么?
>谁需要写入PDOErrors.txt的权限?是firstnamelastname还是守护进程?
>谁需要写入PDOErrors.txt的权限?是Apache还是PHP(或两者兼而有之)?
>类似unix的root帐户的概念是否因素在这里?
编辑:我更新了这一点,以反映我不得不更改CHXOD设置的folderxyz.我不得不更改文件PDOErrors.txt的设置