如何在PHP中创建可实际使用的目录(mkdir()和apache问题)?

如何在PHP中创建可实际使用的目录(mkdir()和apache问题)?,php,apache,file,exec,mkdir,Php,Apache,File,Exec,Mkdir,我花了好几天的时间来寻找这个问题的解决方案。PHP的mkdir()函数正在使用owner/group:apache:apache创建目录。我无法通过FTP在该目录下工作,因为该文件不属于我 如果用户总是设置为apache,那么我应该如何使用PHP创建目录和管理文件 有解决办法吗?我应该通过exec()或system()创建目录吗 感谢您的帮助 tundoopani您可以更改它们(更改文件所有者) 但是请注意 只有超级用户可以更改文件的所有者 您可以更改它们(更改文件所有者) 但是请注意 只有超级

我花了好几天的时间来寻找这个问题的解决方案。PHP的mkdir()函数正在使用owner/group:apache:apache创建目录。我无法通过FTP在该目录下工作,因为该文件不属于我

如果用户总是设置为apache,那么我应该如何使用PHP创建目录和管理文件

有解决办法吗?我应该通过exec()或system()创建目录吗

感谢您的帮助

tundoopani

您可以更改它们(更改文件所有者)

但是请注意

只有超级用户可以更改文件的所有者

您可以更改它们(更改文件所有者)

但是请注意

只有超级用户可以更改文件的所有者

您可以使用PHP的:

chown(string $filename, mixed $user);
您只需将director而不是文件作为$filename传入,并将用户名传入$user即可。

您可以使用PHP的:

chown(string $filename, mixed $user);

您只需传入一个控制器而不是$filename文件,并将用户名传入$user。

解决PHP安装和另一个子系统(在本例中为FTP)之间的跨用户访问问题通常涉及两种解决方案之一:以同一用户身份运行两个子系统,或将两个用户放在一个公共组中


在任何情况下,FTP协议都允许您创建目录。为什么不从FTP客户端创建它们?

解决PHP安装和另一个子系统(在本例中为FTP)之间的跨用户访问问题通常涉及两种解决方案之一:以同一用户身份运行两个子系统,或将两个用户放在一个公共组中


在任何情况下,FTP协议都允许您创建目录。为什么不从您的FTP客户端创建它们?

由于一些安全问题,我听说chown()有很多不好的地方。此外,只有超级用户才能处理该问题。我至少要试试,看看会发生什么。不,不要那样做。允许Apache通过sudo运行命令是一个巨大的安全风险。即使您只允许它访问特定目录中的chown?由于一些安全问题,我听说了许多关于chown()的不好的事情。此外,只有超级用户才能处理该问题。我至少要试试,看看会发生什么。不,不要那样做。允许Apache通过sudo运行命令是一个巨大的安全风险。即使您只允许它访问特定目录中的chown,也会为每个用户创建一个目录,因此必须使用PHP。我也尝试过使用exec()创建目录。网站是否在响应注册过程创建用户目录?在这种情况下,我将研究FTP服务器如何实现虚拟用户并将其挂接到该机制中。为每个用户创建一个目录,因此必须使用PHP。我也尝试过使用exec()创建目录。网站是否在响应注册过程创建用户目录?在这种情况下,我将研究FTP服务器如何实现虚拟用户并将其连接到该机制中。您应该尝试询问大量管理员,他们将向您解释如何调整FTP服务器或php apache用户,以使这两个系统协同工作。这是你的应用程序无法完全管理的事情,这是一项管理任务。你应该试着问一下,那里有很多管理员,他们会向你解释如何调整ftp服务器或php apache用户,使这两个系统一起工作。这是应用程序无法完全管理的,这是一项管理任务。