【发布时间】:2016-07-21 06:54:28
【问题描述】:
当我尝试调用 CLI 命令时,我在使用 EC2 实例时遇到了一些问题。我正在使用 Laravel,但我不能确定这是 Laravel 问题还是 EC2。
当我 ssh 进入我的 EC2 实例时,我运行以下 laravel 命令来迁移我的数据库:
php artisan migrate
我收到以下错误:
PHP 致命错误:未捕获的异常“UnexpectedValueException”与 message '流或文件 “/var/app/current/storage/logs/laravel.log”无法打开: 无法打开流:权限被拒绝' /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
【问题讨论】:
-
这些几乎可以肯定是操作系统级别的错误。
-
@KarenB 谢谢。知道是什么原因造成的,或者我怎么能找到错误?
-
检查您的文件权限。看起来 laravel 进程运行的任何用户都无法写入其日志路径。
-
但为什么会以 sudo 运行(也失败)然后再次运行命令不会导致错误?没有意义
-
/var/app/current/storage/logs/存在吗?
标签: linux amazon-ec2 laravel-5