當通過PHP上傳圖片時,生成的文件的權限不允許Apache在稍後的請求中讀取文件。PHP正在上傳沒有讀取權限的文件
--w-rw----+ 1 www-data www-data 76551 Jan 29 19:52 original.jpeg
上包含文件夾的權限是這樣的:
drwxr-xr-x+ 41 www-data www-data 4096 Jan 29 19:52 media
Apache是運行爲www數據這個問題只發生在分期(用於上傳的文件看起來像本例中的權限當然)。在我的開發環境中,文件上傳沒有問題,所以它不可能是代碼問題。我正在使用Ubuntu的ACL,我懷疑這可能與它有關。
的getfacl
的上傳目錄結果:
# file: web/media
# owner: www-data
# group: www-data
user::rwx
user:ubuntu:rwx #effective:r-x
group::r--
mask::r-x
other::r-x
default:user::-wx
default:user:www-data:rwx
default:user:ubuntu:rwx
default:group::r--
default:mask::rwx
default:other::--x
的getfacl
文件本身的結果:
# file: web/media/original.jpeg
# owner: www-data
# group: www-data
user::-w-
user:www-data:rwx #effective:rw-
user:ubuntu:rwx #effective:rw-
group::r--
mask::rw-
other::---
任何想法?
什麼是php的[umask](http://php.net/manual/en/function.umask.php)設置? –
我的第一個想法是使用umask,但你也可以嘗試setfacl:http://unix.stackexchange.com/questions/1314/how-to-set-default-file-permissions-for-all-folders-files- IN-A-目錄 – MortenSickel