2014-11-24 89 views
1
The stream or file "/home/nick/projects/Symfony/app/logs/dev.log" could not 
be opened: failed to open stream: Permission denied 

我得到它在symfony。 我知道我可以去應用程序/日誌並刪除dev.log,但這種情況經常發生,並且很惱人地一次又一次地刪除它。異常處理的應用程序/日誌/ dev.log

有沒有什麼辦法可以讓它消失? LE:我想,我得到了答覆。 我運行前綴爲sudo的命令。

例如:sudo php app/console generate:bundle --namespace=Acme/StoreBundle將像魅力一樣工作。

[email protected]:~/projects/Symfony$ ls -al app/logs 
total 76 
drwxrwxrwx+ 2 nick  nick  4096 nov 24 15:16 . 
drwxr-xr-x 6 nick  nick  4096 nov 24 15:28 .. 
-rw-rw-r--+ 1 www-data www-data 59583 nov 24 16:25 dev.log 
-rw-rw-r--+ 1 nick  nick   0 oct 6 15:55 .gitkeep 

回答

5

我認爲你創建目錄app/logs爲sudo(root),所以symfony沒有寫入dev.log文件的權限。手動刪除目錄應用程序/日誌(和所有內容),以普通用戶身份創建並設置權限,如在官方文檔http://symfony.com/doc/current/book/installation.html中所述。

喜歡的東西:

$ sudo rm -rf app/logs 
$ mkdir app/logs 
$ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` 
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs 
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs 

或者使用其官方文檔中描述的任何其他選項。

如果不工作,那麼請粘貼我們得到命令:

$ ls -al app/logs 
+0

我只是說'LS -al應用程序/ logs'的粘貼。謝謝! – crixi 2014-11-24 12:33:01

+0

@crixi:那好像沒問題。同時檢查日誌目錄。它必須具有權限drwxrwxr-x + – repincln 2014-11-24 12:50:32

0

你應該看看這個http://symfony.com/doc/current/book/installation.html#configuration-and-setup

UPD

有時使用ACL將無法正常工作的解決方案,在這種情況下,嘗試了第四個選項4. Use the same user for the CLI and the web server

+0

這是正確的,但擁有所有權限777並不是一個好習慣。 – repincln 2014-11-24 11:55:52

+0

你是對的,這是最後一件嘗試,但是(只在開發模式下) – smarber 2014-11-24 12:04:14

+0

我已經做了這些設置,我他們現在再次做到了。問題仍然存在。 – crixi 2014-11-24 12:32:10

相關問題