远程 AWS EB 实例上的“php artisan migrate”上的 PHP 致命错误:laravel.log:权限被拒绝

Posted

技术标签:

【中文标题】远程 AWS EB 实例上的“php artisan migrate”上的 PHP 致命错误:laravel.log:权限被拒绝【英文标题】:PHP Fatal Error on 'php artisan migrate' on remote AWS EB instance: laravel.log: Permission denied 【发布时间】:2015-08-12 21:04:26 【问题描述】:

当我通过 SSH 连接到我的 AWS EB 实例以运行 php artisan migrate 时,我收到以下错误消息:

Link to bigger size of picture below

我完全糊涂了。首先,我在本地服务器上没有收到此错误。其次,一个简单的日志文件与迁移有什么关系? git默认会忽略它们,所以不会上传日志文件。

叹息...关于如何允许我运行 php artisan migrate 的任何想法?

【问题讨论】:

它正在尝试向日志文件夹写入一些内容,但权限设置不正确。 啊哈。现在我聪明多了。您不会碰巧知道如何允许应用程序写入日志吗?感谢您的时间:) 【参考方案1】:

它始终是存储文件夹。空白页或权限被拒绝,这是该死的存储文件夹。

我不知道 EB 是如何工作的,如果它是常规发行版还是什么,但您应该将存储文件夹的所有权更改为 Web 服务器(很可能是 www-data),以便它可以构建视图然后设置 @987654321 @ 权限,以便您可以写入/读取日志。

比如:

sudo chown -R www-data:www-data storage/
sudo chmod -R 775 storage/

【讨论】:

你是对的。该死的存储文件夹是罪魁祸首。当我执行以下命令时它起作用了:sudo chmod -R ugo+rw storage【参考方案2】:

我也遇到了同样的错误

如here所述,

AWS AMI 使用 webapp 作为 Web 用户,而不是 apache 或 ec2-user 作为 文件显示。在这种情况下,webapp 用户没有访问权限 那些文件。

所以,通过那里提到的步骤解决了问题

sudo chown $USER:webapp ./storage -R

find ./storage -type d -exec chmod 775  \;

find ./storage -type f -exec chmod 664  \;

取决于你之后的目标you might need to go through this too。

【讨论】:

以上是关于远程 AWS EB 实例上的“php artisan migrate”上的 PHP 致命错误:laravel.log:权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

AWS EB CLI Django

AWS EC2 EB 上的 .htaccess 在哪里

AWS EB 实例崩溃时是不是会自动重启?

在 ec2 实例中部署 eb 后,ruby 应用程序 aws 数据丢失

一旦我的 docker 达到其最大内存限制,AWS EB 应该创建新实例

无法将客户端连接到 AWS 上的远程套接字