我創建了一個Laravel應用程序並使用Elastic Beanstalk將其部署到EC2實例。一切似乎除了PHP來工作,所以我得到這個錯誤不能寫入storage
目錄:Laravel和AWS Elastic Beanstalk - 文件權限
Error in exception handler: The stream or file "/var/app/current/site/app/storage/logs/laravel.log"
could not be opened: failed to open stream:
No such file or directory in /var/app/current/site/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:84
這看起來像一個權限問題給我,所以我一直在使用的http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html指令設置嘗試權限。
我有一個文件01permissions.config
在.ebextensions
目錄:
commands:
storage_permissions:
command: chmod -R 755 $EB_CONFIG_APP_ONDECK/site/app/storage
我得到的服務器日誌以下錯誤:
[ERROR] Command storage_permissions (chmod -R 755 $EB_CONFIG_APP_ONDECK/site/app/storage) failed
[DEBUG] Command storage_permissions output: chmod: cannot access ‘/site/app/storage’: No such file or directory
任何想法是怎麼回事?
你什麼意思,你忽視了日誌目錄?我有同樣的問題,但在項目中沒有.gitignore我忽略存儲目錄。它是否與每個文件夾中的所有.gitignore文件有關? (日誌,會話等) – 2015-03-26 18:38:01
我想我在主目錄中忽略了.gitignore_global中的日誌。看看這個。如果沒有,請在日誌目錄中放置一個空的.gitignore文件,因爲Git不會跟蹤空目錄。 – Josh 2015-03-26 21:14:01
謝謝@Josh。我們正在使用Jenkins來推動我們的構建,事實證明它正在刪除.gitignore文件(這些文件夾都在這些文件夾中),然後刪除文件夾,因爲它們是空的。我爲每個文件夾添加了一些虛擬文件,並立即修復了消失的文件夾問題。 – 2015-03-27 12:37:44