<?php
echo file_put_contents("/tmp/log.txt", "Hello world everyone.");
代码很简单,在浏览器和命令行上运行都显示成功,为:21
。但是在浏览器运行后,/tmp/log.txt并不存在。而在命令行下,/tmp/log.txt创建成功(root和apache用户测试都没问题)。非常纠结。。。。。。。
uname -r
: 3.10.0-514.2.2.el7.x86_64
都是通过yum install安装的,yum install httpd php5
phpcn_u15822017-05-16 13:05:18
首先 确认文件夹权限 允不允许写入 然后
<?php
echo file_put_contents($_SERVER['DOCUMENT_ROOT']."/tmp/log.txt", "Hello world everyone.");
文件路径 如果不加 $_SERVER['DOCUMENT_ROOT'] 的话 要写成 "./tmp/log.txt" 这样 你在试试吧
给我你的怀抱2017-05-16 13:05:18
应该是权限问题。PHP操作tmp目录,也是不安全的,所以默认肯定不允许。
为什么说不安全?因为你可以写,就必然可以读(对PHP而言,基本不存在没设置过权限然后只能写不能读的)……这样的话,黑客就能读取好多信息啦