這是問題所在。Symfony2緩存重新創建 - 寫入權限失敗
在應用程序/緩存文件夾中緩存的商店。我目前在dev環境下工作,我的緩存存儲在app/cache/dev文件夾中。
PHP應用程序/控制檯高速緩存:當我使用symfony的控制檯COMAND緩存清理問題似乎明確
當我嘗試加載我的項目本地主機/ symfony中/ dev_app.php我收到一個錯誤:
的RuntimeException:無法寫入
我已經安裝了setfacl的擴展緩存文件,因爲debian不支持CHMOD一個+,這裏是我做了什麼:
起初,我檢查時,HTTP請求進行哪些用戶使用:
ps aux | grep http
ahmed 7219 0.0 0.0 7552 884 pts/0 S+ 19:51 0:00 grep http
然後,我通過執行
清除應用程序/緩存文件夾rm -rf app/cache/*
下一個步驟是:
setfacl -R -m d:u:ahmed:rwx,ahmed:rwx app/cache
據我所知,該命令設置默認權限FO用戶在應用程序/緩存文件夾ahmed和它當前和新的子文件夾和文件。
在我的控制檯我下艾哈邁德用戶的工作。
經過這一切,我加載了localhost/symfony/dev_app.php並創建了緩存。然後
php app/console cache:clear
並再次** ocalhost/symfony/dev_app.php *創建新的緩存。但我仍然收到此錯誤
RuntimeException:無法寫入緩存文件「/var/www/local/symfony/app/cache/dev/classes.php」。
那我做錯了嗎?
這裏的getfacl的上市爲應用程序/緩存/ dev的
[email protected]:/var/www/local/symfony$ getfacl app/cache/dev
# file: app/cache/dev
# owner: root
# group: ahmed
# flags: -s-
user::rwx
user:ahmed:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:ahmed:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
我不是文件系統ACL的專家,但Symfony書籍列出了2個命令。你是否也運行過第二個(帶有「-dR」標誌)? IIRC ACL也必須在該分區上啓用。 – gilden
是的,我做到了。我正確安裝了ACL,在/ etc/fstab中將它設置爲我的分區,重新安裝了它。然後我運行這2個命令。它沒有幫助。 – Ahmed
啊!但是您沒有爲Web服務器正確設置ACL。 'ps aux |的輸出grep http'正在向您返回grep進程本身。 Web服務器很可能以不同的名稱運行。嘗試對'apache'或'[a] apache'進行搜索以不列出搜索過程本身。 – gilden