EC2用户访问或文件访问有问题吗?

Gaz*_*dge 1 linux amazon-ec2 laravel-5

尝试调用CLI命令时,使用EC2实例时遇到了一些问题。我正在使用Laravel,但我不能完全确定这是Laravel问题还是EC2。

当我将ssh放入EC2实例时,我运行以下laravel命令来迁移数据库:

php artisan migrate

我得到以下错误:

PHP致命错误:无法打开消息“流或文件“ /var/app/current/storage/logs/laravel.log”的未捕获异常'UnexpectedValueException':/ var / app中无法打开流:权限被拒绝/current/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107

然后我运行sudo php artisan migrate并得到一个完全不同的错误:

[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录

然后我php artisan migrate再次运行,一切都按预期工作!

任何人都知道是什么导致了这种行为,或者我怎么可能会发现错误?

注意:EC2是运行PHP 5.5的64位Amazon Linux 2016.03 v2.1.4

kun*_*r97 6

sudo chmod -R g+s storage
sudo chmod -R g+s bootstrap/cache

sudo chmod -R u+s storage
sudo chmod -R u+s bootstrap/cache

sudo find storage -type d -exec chmod 775 {} \;
sudo find storage -type f -exec chmod 664 {} \;


sudo find bootstrap/cache -type d -exec chmod 775 {} \;
sudo find bootstrap/cache -type f -exec chmod 664 {} \;
Run Code Online (Sandbox Code Playgroud)

不推荐:将引导和存储的权限更改为777。

[ec2-user@ip-172-31-42-2 current]$ sudo chmod -R 777 storage
[ec2-user@ip-172-31-42-2 current]$ sudo  chmod -R 777 bootstrap
Run Code Online (Sandbox Code Playgroud)