【问题标题】:Laravel nginx permission issueLaravel nginx 权限问题
【发布时间】:2017-09-04 20:32:51
【问题描述】:

我已经基于this tutorial在nginx上安装了laravel .当我运行我的服务器 IP 地址时,会出现一个空白页面。 这是 nginx 错误日志:

2016/09/15 12:40:59 [error] 2857#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#2 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\Logger->addRecord(400, Object(UnexpectedValueException), Array)
#3 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\Logger->error(Object(UnexpectedValueException), Array)
#4 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\Log\Writer->writeLog('error', Object(UnexpectedValueEx...
PHP message: PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/laravel/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)

【问题讨论】:

  • 也许您忘记了权限命令的-R 标志?试试chown -R :www-data /var/www/laravelchmod -R 775 /var/www/laravel/bootstrap/cachechmod -R 775 /var/www/laravel/storage。你也可以只给chmod -R 777 /var/www/laravel,它肯定会起作用,但如果有人闯入你的服务器,你的应用源文件可能会被泄露。
  • 我尝试了你提到的所有权限,但没有运气,仍然是同样的问题
  • 您能否在文件夹 /var/www/laravel/storage/var/www/laravel/storage/logs 中运行 ls -lah 并将输出添加到您的答案中?
  • 我会在几分钟内完成。现在我正在安装一个新的 ubuntu 以再次尝试。我记得当我通过composer安装laravel时没有storage文件夹,所以我手动创建它然后运行权限:sudo chmod -R 775 /var/www/laravel/app/storage
  • 已解决。这是由于laravel/app/storage。这个目录在 laravel 5.2 中不存在,而是有 laravel/storage 所以应该给这个目录分配权限!

标签: laravel ubuntu nginx


【解决方案1】:

这个命令我确实遇到了同样的问题:php artisan storage:link,我确实在代码之前使用命令sudo 解决了。像这样: 'sudo php 工匠存储:链接'。我相信如果你使用sudo你就不会再有这个问题了。

【讨论】:

    猜你喜欢
    • 2016-06-10
    • 2021-04-22
    • 2021-08-22
    • 2021-11-18
    • 2023-03-15
    • 2020-11-24
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多