微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – file_put_contents没有创建txt文件

我目前有一个浏览器浏览器浏览网页时运行的PHP脚本.我要做的是在运行存储变量的脚本时编写一个文本文件.该文件夹的所有者是apache,但每个人都有读写,严格用于测试目的. (我认为这可能是一个权限问题)SELINUX在服务器上启用,当我从控制台运行脚本时,它创建文本文件就好了,并在正确的目录中.
file_put_contents("My working file location",$myString);

我正在使用这一行来尝试编写和创建文本文件,我知道我的文件位置工作,因为我可以运行它并在离线模式下创建它,I.E.通过控制台运行它.问题是我试图编写的变量是通过HTTP Post填充的,当我通过浏览器运行脚本时,或者当apache运行脚本时,它不会写入或创建文件.我需要做什么才能允许访问写/更改语法以使此脚本编写此文本文件

您的问题可能是由于apache没有权限写入您指定的文件位置.转到该目录并使用ls命令检查权限和组所有权:
cd "My working file location"
ls -l .

输出中有三列显示目录的权限,所有者和组.很可能它们归root所有,并且没有apache的权限来写入目录.

如果是这种情况,那么当您尝试创建文件时,您会在Apache日志中看到错误.尝试在浏览器中运行脚本时拖尾日志:

tail -f /var/log/apache2/error.log

原文地址:https://www.jb51.cc/php/136537.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐