创建&;从PHP写入文件(权限为755)失败,因为PHP以';没有人';目标文件所有者是另一个用户

创建&;从PHP写入文件(权限为755)失败,因为PHP以';没有人';目标文件所有者是另一个用户,php,apache,file-permissions,fopen,Php,Apache,File Permissions,Fopen,我正在编写一个PHP代码,用fopen创建另一个PHP文件并写入其中。它在大多数共享环境中运行没有任何问题,但在一些旧服务器和定制服务器中,代码无法创建文件并写入文件,即使文件夹权限为755,因为PHP在帐户“nobody”下运行,并且文件夹所有者是另一个用户 在共享服务器中,文件夹所有者和PHP都在同一用户下运行,因此没有权限问题 有人能帮我解决这个问题吗 谢谢大家 编辑:这个问题可能已经困扰了许多其他软件包,包括Joomla、Drupa等。他们如何解决这个问题?谁能解释一下吗。谢谢。如果PH

我正在编写一个PHP代码,用fopen创建另一个PHP文件并写入其中。它在大多数共享环境中运行没有任何问题,但在一些旧服务器和定制服务器中,代码无法创建文件并写入文件,即使文件夹权限为755,因为PHP在帐户“nobody”下运行,并且文件夹所有者是另一个用户

在共享服务器中,文件夹所有者和PHP都在同一用户下运行,因此没有权限问题

有人能帮我解决这个问题吗

谢谢大家


编辑:这个问题可能已经困扰了许多其他软件包,包括Joomla、Drupa等。他们如何解决这个问题?谁能解释一下吗。谢谢。

如果PHP以用户“nobody”的身份运行,但您试图写入的文件夹属于其他用户,那么只有“nobody”在同一组中,或者文件夹具有权限777(每个人的写入权限),才能拥有该文件夹的写入权限。

此问题没有直接的解决方案。因此,唯一的解决方案是向用户显示相关消息,并要求他们手动复制文件…

您是否也尝试使用同一组?该文件必须在internet上的多个服务器上运行,我无法控制其设置。。。解决方案需要在我这边(我认为这几乎是不可能的),如果不是,最终用户应该很容易做到。。。对于非linux大师来说,将用户添加到组中会很容易吗?我看不出原因。您是否有权限在Internet上的这些服务器上进行写操作?如果你得到了许可,为什么他们不给你一个合理的方法呢?如果我想让我的园丁来照看我的花园,我就得让他进来,不是吗?这是一根很老的线。我甚至不记得在我发布这个问题时我在做哪个项目当然,问题并不像花园的例子那么简单。没有多少人有足够的技术能力对这些文件授予适当的权限,或者他们可能在共享服务器上,而他们对这些服务器没有适当的控制权。正如我提到的,这是针对旧服务器或定制服务器的。我不认为很多人会面临这个问题。是的。。。但是如何将用户nobody添加到用户组中?通过cpanel?这取决于你的系统。对于Linux,它主要是
usermod-G