php 创建文件 权限,使用PHP打开或创建文件时权限被拒绝

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

我无法使用php创建文件,因为该文件已获得该权限。

我收到此错误:

Warning: fopen(test.txt): failed to open stream: Permission denied in /web/com/example.com/index.php on line 20

Warning: fwrite() expects parameter 1 to be resource, boolean given in /web/com/example.com/index.php on line 21

Warning: fclose() expects parameter 1 to be resource, boolean given in /web/com/example.com/index.php on line 22

这是我使用的代码:

$file = fopen("test.txt","w");

echo fwrite($file,"Hello World. Testing!");

fclose($file);

?>

就那么简单! 这是来自w3schools的示例代码。

所以我需要帮助来找出如何为文件提供所需的权限。

我正在使用net2ftp FTP Web应用程序将文件上传到我的站点,如果重要的话。

阅读一些教程以了解您的处理方式,例如: dartmouth.edu/~rc/help/faq/permissions.html - 我认为这对你最有帮助。

它将取决于服务器设置。 您需要找出您的PHP进程正在运行的用户,并将该用户的读写权限应用于该目录。 有一些常见的默认值,所以如果你可以发布你用于托管,Apache,IIS等的东西,它可能会有所帮助。

通过ssh查看服务器的权限(目录中的ls -l)

w3fools

我正在使用apache

您的PHP脚本尝试写入的文件夹可能由root用户拥有。 如果您使用的是默认的Ubuntu / Apache / PHP设置,那么您的PHP脚本很可能在www-data用户下运行。

因此,您需要:

chown -R www-data:www-data folder

chmod -R g+w folder

如果您发现PHP在与www-data不同的用户下运行,那么只需在第一行代码中将用户更改为一组。

PS。 更改实际文件夹名称的"文件夹"。

我在哪里输入? 当我尝试将该代码发送到ftp服务器时,它响应:500个未知命令

它不知道"chown"命令是什么,但它确实知道"chmod"命令,但是! 当我将"文件夹"更改为任何文件或文件夹时(例如"/index.php"或"/ test"(我使用和不使用引号和斜线测试))它重新发布了这个:550无法更改g +上的perms w / test:没有这样的文件或目录

我以为你是在命令行,而不是使用FTP客户端。 您需要在命令行上运行chown命令。 在这种情况下,我可以建议的唯一另一件事是将文件夹chmod到0777,但这不是我真正推荐的。

我使用的是FTP客户端! 链接! 我转到"高级",然后"将任意FTP命令发送到FTP服务器",然后在框中输入命令...

运行PHP的用户(通常是apache用户)对运行脚本的文件夹没有写权限。尝试使用绝对路径,如"/tmp/test.txt" - tmp通常可由任何用户写入, 但重启时内容往往会被删除。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值