【问题标题】:Log file permissions error日志文件权限错误
【发布时间】:2023-03-24 15:57:01
【问题描述】:

我有一个 Zend Server 部署的 Laravel 5 项目,一切似乎都运行良好,直到我的代码出现错误,导致框架需要写入日志文件。那时 ZRay 向我显示了这个错误

无法打开带有消息“流或文件“/usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/storage/logs/laravel.log”的未捕获异常“UnexpectedValueException” :无法打开流:/usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:97 中的权限被拒绝跟踪:#0 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler ->write(Array) #1 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\Handler \AbstractProcessingHandler->handle(Array) #2 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/monolog/monolog/src/Monolog/Logger.php(615):独白\Logger->addRecord(400, Object(UnexpectedValueException), Array) #3 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/laravel/framework/src/Illuminate/Log /Writer.php(20 2): Monolog\Logger->error(Object(UnexpectedValueException), Array) #4 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/vendor/laravel/framework/src/Illuminate /Log/Writer.php(113): Illuminate\Log\Writer->writeLog('error', Object(UnexpectedValueException), Array) #5 /usr/local/zend/var/apps/http/vtribes.local/80 /2.1_33/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(56): Illuminate\Log\Writer->error(Object(UnexpectedValueException)) #6 /usr/local/zend/var/ apps/http/vtribes.local/80/2.1_33/app/Exceptions/Handler.php(36): Illuminate\Foundation\Exceptions\Handler->report(Object(UnexpectedValueException)) #7 /usr/local/zend/var /apps/http/vtribes.local/80/2.1_33/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(79): App\Exceptions\Handler->report(Object(UnexpectedValueException)) # 8 [内部函数]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(UnexpectedValueException)) #9 {main} 抛出

这里的问题是文件

/usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/storage/logs/laravel.log

不只是我所有,组是zend,文件权限是777。我已经尝试了这个文件的所有用户/组/模式权限,但 ZRay 仍然显示相同的错误。我什至删除了文件然后触摸它。

-rwxrwxrwx。 1 保罗 zend 0 5 月 24 日 00:17 /usr/local/zend/var/apps/http/vtribes.local/80/2.1_33/storage/logs/laravel.log

有没有想过在哪里寻找可能的罪魁祸首?

谢谢, 保罗

【问题讨论】:

    标签: linux laravel zend-server


    【解决方案1】:

    检查this answer。要访问文件,您必须对所有父目录具有执行权限。你的情况

    • /usr
    • /usr/local
    • /usr/local/zend

    等等……

    似乎您对应用程序文件夹具有正确的权限,但 storage/logs 有问题。检查此目录的执行权限。

    【讨论】:

      【解决方案2】:

      日志文件应该由运行 zend 服务的同一用户拥有。通常这是“nobody”或“apache”

      虽然您的文件提示它归其自己的用户所有,但我会首先检查您的网络服务器正在运行什么 我会运行一个 ps -ef | grep |更多

      通常是它的 httpd(用于 CentOS / RHEL) 要么 ubuntu 的 apache2

      ps -ef | grep httpd |更多

      【讨论】:

        【解决方案3】:

        我昨晚很晚才弄清楚权限,如果手动完成,我可以在部署后让网站正常工作。这又引出了我另一个问题here

        仅供参考:在整个路径部分都设置了执行权限,但链接还是不错的阅读,所以感谢 Andrew

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多