linux下文件權限777了,file_put_contents()卻不能寫入,為什么?


最近在linux系統下開發一個小程序時,碰到一個很奇怪的問題:目錄的權限都777了,用file_put_contents()卻不能夠向目錄下的文件寫入數據,這是為什么呢?百度了一下,還真有好多的人也破到了這個問題,一般都是說把權限改成777就可以了。可是,我的目錄權限已是777了,目錄下的所有文件也都是可寫的。這就不是這個方法所能解決的了。

那倒底是什么原因呢?為什么權限都777了,就是不能寫入呢?

繼續百度,呵呵,終於在51cto的一個博客里找到了答案:原來是selinux惹得禍。selinux是個什么東東,大家可以百度一下,說是對0-day安全漏洞有幫助。

解決方法:

查看SELinux狀態:/usr/sbin/sestatus -v
SELinux status: enabled 即為開啟狀態

關閉SELinux:
1、臨時關閉(不用重啟機器):
     setenforce 0 設置SELinux 成為permissive模式
     ##setenforce 1 設置SELinux 成為enforcing模式
2、徹底關閉:修改/etc/selinux/config 文件,

    將【SELINUX=enforcing 】改為【SELINUX=disabled】
    重啟機器即可。

經過上面的設置,file_put_contents()就可以向文件寫入數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM