待會請參照上面這張 terminal 的圖~
今天在用 Laravel 寫圖片檔案上傳的 API 時,遇到了一個問題,就是我在 localhost 可以在 var/www/public 開啟新的資料夾,但是在 AWS EC2 上面卻不行,直覺想到的是 ubuntu permission 權限的問題,查了一下果然是:

mkdir(): Permission denied

於是第一行,我下了 $ ls -al 之後,看到了 public 的權限是 755, 然後 user 與 group 是屬於 root 的(中間兩個),所以現在我們需要給 apache 正確的權限,才能良好地執行裡面的 php code。

$ vi /etc/passwd

於是第二行,它會跑出一堆結果,其中一個是第三行。現在 apache 這個 user 叫 www-data ,為什麼我們要對他開權限呢?因為所有的 HTTP 相關的事情都是他在做啊~

$ chown www-data:www-data -R public/

接著第四行,我用它來更改 public/ 資料夾的使用者:群組為 www-data

最後,再下一次 $ ls -al 就可以看到,使用者:群組已經改成 www-data 囉~

可以正確的 mkdir() 了!

Comments

comments powered by Disqus
Copyright © 2013 Andro Chen
Powered by Logdown and Greyshade
Favicon from The Noun Project