2012-01-29 28 views
1

,PHP都無法在文檔根目錄之外書寫。使用典型的httpd安裝來運行帶有CentOS 5.7的VM。無論使用什麼

我想寫的/var/www/html之外的一個文件夾中,讓在/var/somedir

  • 我chmoded somedir 777
  • 我把它chowned到Apache說:阿帕奇(根:阿帕奇沒有任何工作)
  • PHP的safe_mode設置爲關閉
  • PHP的doc_root的爲空(即doc_root =

我無法使用rename()將某些內容移出文檔根目錄,也無法使用fwrite()在其外創建文件。

爲了驗證,我從php文件中執行了whoami,並且在瀏覽器中訪問時echo'd /返回apache。

我想我已經打了谷歌約200搜索關於這個目前爲止,我想我仍然失去了一些東西。

+3

你有使用'phpinfo()函數檢查''你設置open_basedir'? – rdlowrey 2012-01-29 20:52:51

+1

導致「somedir」的目錄是否也需要apache用戶可讀? – jlb 2012-01-29 20:56:09

+0

open_basedir被註釋掉了,所以從我所讀到的看來,它不會是這種情況下的一個因素? – 2012-01-29 21:00:00

回答

-1

原來,selinux實際上是啓用的,雖然我的「linux小子」向我保證,它不是!

+0

這樣的事情發生在別人那天;-)搜索不會傷害...:) http://stackoverflow.com/questions/8998743/rhel-php-writing-files-outside-var-www-html/8998776 – summea 2012-01-30 05:26:29

0

我永遠不會建議任何人公開寫入外部文檔文件夾。事實上,保護措施是有一些東西的。

相反,你可以創建一個符號鏈接(LN),以只是一個選定的文件夾你想要的。這將是一個更加優雅的解決方案。

通過符號鏈接,您可以訪問任何您想要的路徑。

http://en.wikipedia.org/wiki/Symbolic_link

+0

不適合我,同樣的問題 – kritzikratzi 2013-10-11 14:54:13

相關問題