file_put_contents未创建txt文件
当前,当浏览器浏览器浏览到网页时,我正在运行一个php脚本。我想做的是在脚本运行时编写一个存储变量的文本文件。文件夹的所有者是apache,但每个人都具有读写功能,严格出于测试目的。(我认为这可能是权限问题)服务器上启用了SELINUX,当我从控制台运行脚本时,它会在正确的目录中很好地创建文本文件。
file_put_contents("My working file location", $myString);
我正在使用此行尝试编写和创建文本文件,我知道我的文件位置可以正常运行,因为我可以在脱机模式下运行它并创建它,即IE通过控制台运行它。问题是我要编写的变量是通过HTTP
Post填充的,当我通过浏览器运行脚本时,或者当apache运行脚本时,它不会写入或创建文件。我该怎么做才能明智地访问写入/更改语法,以使该脚本写入此文本文件?
回答:
您的问题很可能是由于apache没有权限写入您指定的文件位置。转到该目录,并使用以下ls
命令检查权限和组所有权:
cd "My working file location"ls -l .
输出中的三列显示目录的权限,所有者和组。它们很可能是由root拥有的,并且没有apache
写目录的权限。
如果是这种情况,那么当您尝试创建文件时,您将在apache日志中看到一个错误。在浏览器中运行脚本时,尝试添加日志:
tail -f /var/log/apache2/error.log
以上是 file_put_contents未创建txt文件 的全部内容, 来源链接: utcz.com/qa/418324.html