Php httpd.conf上用户/组的Apache问题-权限

Php httpd.conf上用户/组的Apache问题-权限,php,apache,xampp,httpd.conf,Php,Apache,Xampp,Httpd.conf,我有一个在xampp上运行的codeigniter项目。当我运行php命令mkdir时,我得到错误“Permission denied”。事实证明,php用户和计算机用户的名称并不相同。所以我在httpd.conf文件中更改了这些行 User daemon Group daemon 到 匹配我的用户名。现在我解决了这个问题,但这会在代码的另一部分产生一个pemission错误。这很奇怪,因为我在另一台机器上以相同的设置运行相同的项目,并且它可以工作。你能给我指出正确的方向吗?用户指令指定了ht

我有一个在xampp上运行的codeigniter项目。当我运行php命令mkdir时,我得到错误“Permission denied”。事实证明,php用户和计算机用户的名称并不相同。所以我在httpd.conf文件中更改了这些行

User daemon
Group daemon


匹配我的用户名。现在我解决了这个问题,但这会在代码的另一部分产生一个pemission错误。这很奇怪,因为我在另一台机器上以相同的设置运行相同的项目,并且它可以工作。你能给我指出正确的方向吗?

用户指令指定了httpd进程应该使用哪个linux用户来运行。这意味着httpd进程将像用户(在本例中是您)那样做所有事情。如果您没有执行某项操作的权限,httpd进程将无法执行该操作,您将看到一个错误

要解决这个问题,您需要修复httpd进程(和php)所需的文件/文件夹/命令的权限。您可以:

  • 向所需文件/文件夹上的守护程序组授予完全权限:
    chgrp daemon/path/to/file;chmod g+rwx/path/to/file
  • 将该文件/文件夹的完全权限授予特定用户:
    chown username/path/to/file;chmod u+rwx/path/to/file
  • 向所有人授予完全权限(可能不推荐):
    chmod o+rwx/path/to/file
如果进程不需要在该位置写入(mkdir、创建或更改文件等),则不授予写入权限;如果进程不需要执行(运行命令、读取文件夹内容),则不授予执行权限

User username
Group daemon