【发布时间】:2012-07-06 23:04:06
【问题描述】:
已解决
我找出了当前用户在使用 PHP 并设法将新目录的所有者设置为执行 PHP 脚本的用户。但是,这仍然会导致问题,因为其他一些命令(用于确定当前用户是谁)不起作用。这突出表明问题在于我的 PHP 发行版被配置为安全模式。
我禁用了安全模式,并且 Ed Manet 提供的命令允许我根据需要添加/编辑/删除文件,而无需将所有内容都设置为 777 权限的快捷方式。
感谢您的帮助!
原帖
我有一个在服务器上存储一些数据的 Web 应用程序。这涉及在 PHP 中创建和删除目录和文件(以及修改现有文件)。我遇到的主要问题是执行此类操作所需的权限。
如果我将现有文件的权限设置为 777,那么 PHP 脚本可以很好地编辑它们(尽管我知道这不是最佳解决方案,因为它不安全)。该脚本还可以很好地创建和删除目录(当它们至少具有 777 权限时),但无论我做什么,我都无法让脚本创建 new 文件。
我进行了一些搜索,看来我需要将 PHP“用户”提升为具有所需权限的用户。然而,当谈到服务器配置和权限时,我基本上是一个初学者。我将如何更改为不同的用户来执行所需的操作?是否可以执行此中间脚本并正常使用 PHP 的 fopen() 和 chmod() 函数?或者我是否必须使用 shell 命令生成一个全新的进程,以某种方式让该外部程序以正确的权限执行?
总而言之,我需要使用 PHP 在 Web 服务器中创建、修改和删除文件/目录的新方法,方法是为文件分配足够的权限并为 PHP 用户分配特权。我不确定如何执行此操作。
谢谢。
【问题讨论】:
-
您是否尝试过将父文件夹的权限设置为 777?
-
是的,我试过了。无论我在做什么 PHP 都拒绝创建一个新文件 - 它只是没有权限。
标签: php apache file-io file-permissions chmod