警告:file_put_contents(./ aa.txt):无法打开流:权限被拒绝 - 在XAMPP中

时间:2017-07-21 13:32:43

标签: php xampp

我在尝试将数据附加到文本文件时收到此警告 - 我已经浏览了很多并尝试了很多事情,更改了权限(例如,chmod' d到777并获得了www权限)等。 ,但我尝试过的任何东西似乎都没有用。我在MacOS上使用XAMPP 7.1.7。

想知道我是否只是做了一些明显错误的事情或者没有设置xampp的一部分。

$url = "text";
$filename = "./data.txt" ;
file_put_contents($filename, $url, FILE_APPEND);

3 个答案:

答案 0 :(得分:1)

看起来我发现了你的问题 - 你实际上并不需要使用终端,问题是你需要给每个人提供读/写访问权限 - 我有类似的问题,它可以是像这样固定。

如果您找到包含htdocs,xamppfiles等的目录(默认情况下,这通常是一个名为' XAMPP'在应用程序中的文件夹),右键单击该文件夹并选择“获取”。信息&#39 ;.将弹出另一个窗口,底部将显示共享和权限下拉 - 从那里您可以看到一个表格,旁边是“每个人”'选择“读写”#39;在权限下拉列表中。 然后,您可以在下面选择"应用于所有子文件夹"。

这应该解决它!

答案 1 :(得分:0)

表示您的php.exe没有写入文件的权限,请尝试禁用User Account Control (UAC)或在CMD中运行php进行调试

答案 2 :(得分:0)

也许您可以更改Xampp Apache设置。

文件位置:Applications / XAMPP / xamppfiles / etc / httpd.conf

与您的用户和组一起设置部分,以允许PHP编写:

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User deamon
Group deamon
</IfModule>

更改

User deamon

User [your user name]

Group deamon

Group #-1