cbl*_*793 21 php logging laravel laravel-5.6
Heey!
所以我最近被赋予了将Laravel 5.2提升到5.6的任务.它似乎很好......直到我试图做一个\Log::info()
.每次我运行它,我都会收到一个很大的错误,但最后,它仍会打印到日志中.我看到了关于创建的5.6文档config/logger.php
.我从github那里拿了一份新的副本.之后我唯一做的LOG_CHANNEL
就是为单个设置一个env变量.这是我得到的错误:
[2018-03-02 08:28:59] laravel.EMERGENCY:无法创建配置的记录器.使用紧急记录器.{"exception":"[object](InvalidArgumentException(code:0):Log []未定义.在I:\ xampp\htdocs\mtm\vendor\laravel\framework\src\Illuminate\Log\LogManager.php: 181)[....
我在Laravel 5.2和5.6之间进行了文件比较.我没有看到任何跳出来会破坏Logging功能的东西.
有没有人通过Laravel升级遇到这个问题?
小智 22
将此文件添加到配置文件夹 https://github.com/laravel/laravel/blob/develop/config/logging.php
并将其添加到.env文件中 LOG_CHANNEL=stack
小智 6
我最近在我的开发机器中遇到了同样的错误(奇怪的是在生产环境中没有)。在我的机器我都php 7.1
和php 7.2
安装。通过进行检查phpinfo()
,我发现7.1是默认版本,因此我决定切换到7.2。
sudo a2dismod php7.1
sudo a2enmod php7.2
sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)
那并没有解决问题(但也许是其中的一部分)。
在花了几个小时尝试网络上的所有建议之后,我通过以下方法找到了解决方案:
详细:
cd your_project_full_path
sudo chmod -R 0775 storage
sudo chown -R www-data:www-data storage
php artisan config:clear
php artisan view:clear
php artisan route:clear
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
之后,我再也没有问题了。也许尝试0755作为存储文件夹的权限。希望这可以帮助!
我遇到了同样的问题,试图像您一样做所有事情,但是没有工作。
最后,我发现这是因为缓存了配置,只需清除它,一切都会好起来的:
php artisan config:clear
Run Code Online (Sandbox Code Playgroud)