【问题标题】:Daily log can't be written in due to permissions每日日志因权限无法写入
【发布时间】:2018-10-01 20:11:41
【问题描述】:

我已将 app.php 配置更改为使用每日错误日志并仅保留其中的 7 个:

/*
|--------------------------------------------------------------------------
| Logging Configuration
|--------------------------------------------------------------------------
|
| Here you may configure the log settings for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Settings: "single", "daily", "syslog", "errorlog"
|
*/

'log' => env('APP_LOG', 'daily'),
'log_max_files' => 7,

但是,根据 apache 的错误日志,这些日志文件中没有写入任何内容,因为它们无法写入:

PHP 致命错误:未捕获异常 'UnexpectedValueException' 并显示消息“无法打开流或文件“/var/www/newshub/storage/logs/laravel-2016-07-18.log”:无法打开流: 权限被拒绝'

我尝试递归更改 storagelogs 目录的写入权限。这可行,但是当创建第二天的错误日志时,它不再具有写入权限。

我该如何解决这个问题?

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2


    【解决方案1】:

    我遇到了完全相同的问题。文件每天都会创建,然后我无法写入。问题出在文件的所有者上。这应该是 www-data 但它是由另一个用户创建的。我运行命令

    sudo chown -R ubuntu:www-data /storage 
    

    一切正常。

    为了解决这个问题,我创建了一个每天运行的 crontab 来更改新创建文件的所有权。这是在当天生成文件后立即运行的。这是一个短期解决方案,但正在研究如何长期解决这个问题。

    【讨论】:

      【解决方案2】:

      您是否使用 GIT 更新服务器上的代码库? 我注意到有时当我拉取时,某些目录的权限会丢失,logs 目录从未发生过这种情况,但值得一看。

      就 Laravel 而言,这并不完全是框架问题,而是服务器配置问题。

      【讨论】:

      • 不,不使用 git。
      【解决方案3】:
      cd /var/www/newshub/storage/
      chmod -R 0777 logs
      

      请用 ssh 试试这些命令

      【讨论】:

      • 正如我所说,“我尝试递归更改 storage 和 logs 目录的写入权限。这有效,但是当创建第二天的错误日志时,它不再具有写入权限。”跨度>
      • 哦,比尝试授予 www-data 用户权限...这可能是问题...例如 sudo chown www-data:www-data -R 文件夹路径
      • 永远不要尝试将权限更改为 777,而是出于安全原因尝试更改所有者
      【解决方案4】:

      根据您的操作系统使用 ubuntu 或 apache 将所有者递归更改为 storage 文件夹。它会在没有任何进一步问题的情况下工作。

      示例: sudo chown -R apache:apache /var/www/html/storage (基于您当前的存储位置)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-20
        • 1970-01-01
        • 2013-02-14
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多