Laravel - 在 /public 文件夹中不断重新创建日志
Laravel - Logs are constantly recreated in the /public folder
这里有点奇怪的问题。我正在使用 laragon 作为我的本地开发应用程序,现在我正在共享主机上测试我的代码。问题是,如果我删除 laravel.log 文件,它会将自己放在 /public 文件夹中并重新创建它自己。我完全不知道为什么。
它在本地没有这种行为,仅在主机上有这种行为。
编辑 1:
我是 运行ning Windows 10,虚拟主机在 Debian / Linux 8.11
编辑 2:
当我 运行 在我的 vs 代码项目中搜索时,我只得到指定路径的两个结果。
一个在项目的根目录 laravel.log 中,一个在 storage/logs 文件夹中。相同的文件名。
您可能将 .env 文件中的 APP_STORAGE
定义为 D:\laragon\XXXXXX
。
您可以注释掉(使用“#”)该配置变量,并在网站根目录(与public目录同级)创建一个存储目录。
它似乎与符号 link 有关,在 windows 和 Linux 中可能不同。您可以阅读更多 here。如问题所示,link 是在 windows 中创建的,作为绝对路径,在 Linux 中不存在。一种解决方法是在 config/filesystems.php.
中使用相对路径
但正确的方法是在 gitignore 中包含符号 links。然后在部署中你必须 运行:
php artisan storage:link
根据OS生成它们。您可以在 composer.json 中添加该命令,scripts->post-autoload-dump.
更新
Laragon 不会像 docker 那样创建一个孤立的环境。所以当 Laravel 缓存配置时,它根据 windows 绝对路径解析路径(这里是 D:\laragon\www... )。正如评论中提到的,此 Laravel 应用已使用 ftp 移动到主机,而无需在主机上缓存配置。所以主机使用与 windows.
相同的缓存
这里有点奇怪的问题。我正在使用 laragon 作为我的本地开发应用程序,现在我正在共享主机上测试我的代码。问题是,如果我删除 laravel.log 文件,它会将自己放在 /public 文件夹中并重新创建它自己。我完全不知道为什么。 它在本地没有这种行为,仅在主机上有这种行为。
编辑 1:
我是 运行ning Windows 10,虚拟主机在 Debian / Linux 8.11
编辑 2:
当我 运行 在我的 vs 代码项目中搜索时,我只得到指定路径的两个结果。
一个在项目的根目录 laravel.log 中,一个在 storage/logs 文件夹中。相同的文件名。
您可能将 .env 文件中的 APP_STORAGE
定义为 D:\laragon\XXXXXX
。
您可以注释掉(使用“#”)该配置变量,并在网站根目录(与public目录同级)创建一个存储目录。
它似乎与符号 link 有关,在 windows 和 Linux 中可能不同。您可以阅读更多 here。如问题所示,link 是在 windows 中创建的,作为绝对路径,在 Linux 中不存在。一种解决方法是在 config/filesystems.php.
中使用相对路径但正确的方法是在 gitignore 中包含符号 links。然后在部署中你必须 运行:
php artisan storage:link
根据OS生成它们。您可以在 composer.json 中添加该命令,scripts->post-autoload-dump.
更新
Laragon 不会像 docker 那样创建一个孤立的环境。所以当 Laravel 缓存配置时,它根据 windows 绝对路径解析路径(这里是 D:\laragon\www... )。正如评论中提到的,此 Laravel 应用已使用 ftp 移动到主机,而无需在主机上缓存配置。所以主机使用与 windows.
相同的缓存