iT邦幫忙

0

php 出現 failed to open stream: Permission denied

php

請問一下前輩
我的程式(上傳圖檔)本來是可以使用的
移到新的linux主機上以後就出現

Warning: move_uploaded_file(images.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/html/upload.php on line 3

我查了一下google都說是資料夾權限的問題
可是我把整個/var/www/html 底下都改成777了還是這樣
有人遇過這樣的問題嗎

2 個回答

12
silly
iT邦好手 2 級 ‧ 2011-01-11 12:05:01
最佳解答

.改目錄權限: chmod -R 777 /var/www/html ,
或是更改檔案目錄擁有者: chown -R apache /var/www/html ,
不過請注意開放寫入的安全性。
.SELinux有沒有開啟,若有,請觀察/var/log/messages裡的錯誤訊息作相對應的修正,
或直接於上傳目錄上設定正確的SELinux rule,
或直接先關閉SELinux試試看。

6
SunAllen
iT邦研究生 1 級 ‧ 2011-01-10 23:45:53

雖然我不熟PHP,想請問一下大大,你上傳圖檔是傳到那個路徑,是「/var/www/html」這個嗎?

小灰狼 iT邦新手 5 級 ‧ 2011-01-10 23:59:00 檢舉

是的 我直接把他和程式擺在同一個目錄底下

SunAllen iT邦研究生 1 級 ‧ 2011-01-11 00:21:47 檢舉

哦...小弟學藝不精,請忘了我吧逃跑

外獅佬 iT邦大師 1 級 ‧ 2011-01-11 01:09:00 檢舉

這個...我遇到過...
不是改777就好...要把那個目錄的權限給httpd...的執行帳號..
我的解決方法...把那個上傳用的目錄砍掉...寫一支php去建立它,這樣就不會有權限的問題了,另外,看一下php.ini,那個上傳暫存檔的路徑,是不是也擁有權限。

我要發表回答

立即登入回答