首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Chmod创建文件时出现问题

PHP Chmod创建文件时出现问题
EN

Stack Overflow用户
提问于 2010-12-30 10:54:11
回答 2查看 964关注 0票数 0

我遇到了以下情况:

public_html - 755

=>头像- 777

=>民意测验- 755

现在当我使用下面的代码时,我会得到一个错误(警告: file_put_contents(../test.php)函数.file-put-contents:无法打开流:在XXX中权限被拒绝):

代码语言:javascript
复制
<?php
file_put_contents('../test.php','<?php');
?>

但是当我使用下面的代码时,它会工作得很好:

代码语言:javascript
复制
<?php
file_put_contents('test.php','<?php');
?>

(都是从《阿凡达》中执行的,0777)

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-30 11:12:06

因为您的脚本是从拥有0777权限(全局读/写/执行)的avatar执行的,所以您能够在其中创建一个文件(即:file_put_contents("test.php"))是很正常的。

如果您不能在public_html中创建文件(例如:file_put_contents("../test.php")),这是因为执行脚本的用户(很可能是Apache用户)不是public_html的所有者(所有者很可能是FTP用户)。因为0755意味着只有所有者能够写入该目录,所以其他人只能从该目录读取或执行。

如果您有shell访问权限,则可以使用chown更改文件的所有者:

代码语言:javascript
复制
bash-4.1.5$ chown newuser public_html

或者,您可以为非所有者使用更高权限的chmod,但您应该小心使用它。

票数 1
EN

Stack Overflow用户

发布于 2010-12-30 11:06:23

我猜即使你有0777权限,也不可能写到更高的文件夹。

在这个目录上使用chmod是不可能的,你必须使用FTP或者别的什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4559673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档