<?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而言,基本上不存在沒設定過權限然後只能寫不能讀的)……這樣的話,黑客就能讀取好多信息啦