2010-09-24 61 views
0

我最近安裝了FC13,並試圖在我的PHP代碼中編寫一個機制,將收集的數據緩存到特定目錄中(對於我們來說,我們稱之爲/ var/www/html/_php_resources /高速緩存)。PHP寫權限 - FC13

我將文件複製到/ var/www/html目錄,然後對新數據運行chown -R apache:apache /var/www/html/*chmod a+w /var/www/html/_php_resources/cache。就目前而言,我只是爲了方便而使用全局寫入權限。稍後我將調整權限。

當我嘗試使用chmodmkdir PHP函數我風了:在/var/www/html/_include/php/CacheInit.php

拒絕的權限:

警告命令:chmod()

警告命令mkdir():權限/var/www/html/_include/php/CacheInit.php

否認

現在,當我禁用SELinux時,一切正常。問題是我寧願而不是來禁用SELinux,並且實際上獲得正確設置的權限,以便我可以將它移植到某個沒有這種顯式控制的服務器上。

舉個例子:我的個人站點主機允許我設置對目錄的讀寫權限,但不允許SELinux策略更改。


供參考:

  • UNAME -r = 2.6.34.7-56.fc13
  • * PHP -version * = PHP 5.3.3
  • 轉速-qa | grep的httpd的 =的httpd-2.2.16-1.fc13

有沒有人有什麼建議?

+0

/var/www/html/_include有什麼權限? – luckytaxi 2010-09-24 14:24:40

+0

這是F13,而不是FC13(我認爲自F7以來就像這樣,因爲Fedora和核心存儲庫已合併) – greg0ire 2010-09-24 14:27:10

+0

這可能是世界上可寫的權限。由於這個文件夾是由apache do'chmod aw/var/www/html/_php_resources/cache'和'chmod o + w/var/www/html/_php_resources/cache'擁有的......也要確保Apache運行爲「 apache「而不是」httpd「 – Cfreak 2010-09-24 14:30:17

回答

1

我有同樣的問題,試圖從PHP mkdir。沒有這麼多關於谷歌的信息,但這是我發現的,我想這是正確的解決方案。必須標註apache應該創建目錄的目錄。

標籤應該是「httpd_sys_script_rw_t」我發現的信息在這裏:http://docs.fedoraproject.org/en-US/Fedora_Core/5/html/SELinux_FAQ/index.html#id672528

下面是如何標記目錄:chcon -R -t httpd_sys_script_rw_t <dir> 參考這裏的某個地方:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/rhlcommon-chapter-0017.html

希望這有助於有人在那裏。