正如 Jon 已经说过的,你不想让每个人都有写访问权限。
也有可能(取决于托管)正在使用 suEXEC 之类的东西 - 这将导致您的 PHP 脚本以网络服务器以外的用户身份运行(如 Dunhamzzz 所报告)。
在我看来,您最好的方法可能是调用 whoami 的脚本:
passthru('whoami');
或者,您可以尝试:
var_dump(posix_getpwuid(posix_geteuid()));
请记住,这确实会将系统信息公之于众 - 所以一旦你使用了脚本就删除它!
然后,正如您在问题中正确断言的那样,它可能是文件权限。
如果您确实具有 CLI 访问权限,则可以安全地更新权限(第一个命令获取组)
id -n -g <username>
chmod 770 <directory>
chown <username>:<group> <directory>
(您可能必须在上面的“chown”命令前加上“sudo”,或者找到其他方式以“root”身份运行它......,如果遇到困难,请回复。)
如果您无权运行命令行,您可能会通过 (S)FTP 客户端或类似的方式执行此操作。恐怕那时选项会变得有点宽泛,您必须弄清楚(或回复您正在使用的客户!)
一如既往,YMMV。
最后,请记住,如果这是您自己的代码,人们有时会尝试上传 PHP 脚本(或更糟)。如果可以通过公共 URL 访问该目录……那么您将打开最大的安全漏洞!(.htaccess 或非文档根位置是您的朋友。)