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

Kal*_*den 6 php ftp file-io file-permissions

可能重复:
mysql_fetch_array()期望参数1是资源,在select中给出boolean

我无法使用php创建文件,因为该文件已获得该权限.我收到此错误:

警告:fopen(test.txt):无法打开流:第20行/web/com/example.com/index.php中的权限被拒绝
警告:fwrite()要求参数1为资源,在/ web /中给出布尔值第21行的com/example.com/index.php
警告:fclose()期望参数1为资源,第22行的/web/com/example.com/index.php中给出布尔值

这是我使用的代码:

<?php
 $file = fopen("test.txt","w");
 echo fwrite($file,"Hello World. Testing!");
 fclose($file);
 ?> 
Run Code Online (Sandbox Code Playgroud)

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

所以我需要帮助来找出如何为文件提供所需的权限.我正在使用net2ftp FTP Web应用程序将文件上传到我的站点,如果重要的话.

Gar*_*ing 18

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

因此,您需要:

chown -R www-data:www-data folder
chmod -R g+w folder
Run Code Online (Sandbox Code Playgroud)

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

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


Rya*_*n P 5

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