Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题
生活随笔
收集整理的這篇文章主要介紹了
Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文以Ubuntu為例,其他的Linux系統類似。
環境為Apache + PHP搭建的web服務器
假設網站根目錄為/var/www/html
?
問題:
直接通過shell執行PHP,在網站目錄下面讀寫文件沒有問題,但是通過瀏覽器訪問php,卻不能寫文件。
原因:
Apache是通過用戶www-data來執行PHP的,所以PHP能夠做什么,取決于用戶www-data能做什么?一般情況下,www-data用戶并沒有在www/html下面寫文件的權限,所以PHP在通過瀏覽器訪問的時候是沒有辦法寫入文件的。
解決辦法:
可以簡單的把www/html或者www/html下面的某個子目錄比如/var/www/html/download的所有者設置為www-data,這樣PHP就可以正常寫文件。
命令:sudo chown -R www-data /var/www/html
?
?
總結
以上是生活随笔為你收集整理的Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是BUG
- 下一篇: 什么是死锁?为什么会死锁?如何解决死锁问