如何在PHP中创建实际可以使用的目录(mkdir()和apache问题)?
我确实花了几天时间寻找这个问题的解决方案。 PHP 的 mkdir() 函数正在创建所有者/组为 apache:apache 的目录。我无法通过 FTP 在此目录中工作,因为该文件不属于我。
如果用户始终设置为 apache,我究竟应该如何使用 PHP 创建目录和管理文件?
有解决方法吗?我应该通过 exec() 还是 system() 创建目录?
任何帮助表示赞赏。
通都帕尼
I have literally spent days searching for a solution to this problem. PHP's mkdir() function is creating directories with owner/group: apache:apache. There is no way I can work in this directory via FTP because the file doesn't belong to me.
How in the world am I supposed to create directories and manage files with PHP if the user is always set to apache?
Is there a workaround? Should I create directories via exec() or system() ?
Any help is appreciated.
tundoopani
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
解决 PHP 安装和另一个子系统(在本例中为 FTP)之间的跨用户访问问题通常涉及以下两种解决方案之一:以同一用户身份运行两个子系统,或者将两个用户放在一个公共组中。
无论如何,FTP 协议都允许您创建目录。为什么不从 FTP 客户端创建它们呢?
Solving cross-user access problems between a PHP installation and another sub-system (in this case, FTP) usually involves one of two solutions: running both sub-systems as the same user, or putting both users in a common group.
In any case, the FTP protocol lets you create directories. Why not create them from your FTP client?
您可以 chown() 它们(更改文件所有者),
但请注意
You can chown() them ( Changes file owner)
however note that
您可以使用 PHP 的:
您可以仅将目录而不是文件作为 $filename 传递,并将您的用户名传递到 $user 中。
You could use PHP's:
You can just pass in a director instead of a file as $filename, and your username into $user.