弹性豆茎上的"laravel.log could not be opened"错误



我已经在AWS ElasticBeanstalk上部署了一个Laravel应用程序(PHP 7.3在64位Amazon Linux/2.9.7上运行(。 应用程序在运行时运行良好,但对于少数请求会随机抛出以下错误。

PHP 致命错误:未捕获的意外值异常:流或 无法打开文件"/var/app/current/storage/logs/laravel.log": 无法打开流:权限被拒绝/var/app/current/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:110Stack 跟踪:#0/var/app/current/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(42(: Monolog\Handler\StreamHandler->write(Array(#1/var/app/current/vendor/monolog/monolog/src/Monolog/Logger.php(323(: Monolog\Handler\AbstractProcessingHandler->handle(Array(#2/var/app/current/vendor/monolog/monolog/src/Monolog/Logger.php(541(: Monolog\Logger->addRecord(400, 'unhandle excep...', array(#3/var/app/current/vendor/laravel/framework/src/Illuminate/Log/Logger.php(174(: Monolog\Logger->error('unhandle excep...', array(#4/var/app/current/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87(: Illuminate\Log\Logger->writeLog('error', 'unhandle Excep...', 数组(#5/var/app/current/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(54 在/var/app/current/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php 在 110 行

我不明白为什么它只对某些请求而不是其他请求抛出错误。尽管如此,我还是尝试将权限应用于存储和引导文件夹,正如下面通过 .ebextensions 发布的几篇帖子所建议的那样,但没有让它正常工作。

"/opt/elasticbeanstalk/hooks/appdeploy/post/99_make_storage_writable.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
echo "Making /storage and /bootstrap writeable..."
chmod -R 777 /var/app/current/storage
chmod -R 777 /var/app/current/bootstrap 

有人可以在这里帮助我吗?我是Laravel和AWS的新手,并且对这里可能出现的问题感到非常困惑。

问题是您将所有者设置为 root:root,并且 apache 用户是 ec2-user。

删除现有日志时,正确的用户将创建新日志,它将根据需要工作。您也可以将文件交给 ec2 用户,这也行得通。

相关内容

最新更新