关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
去年关闭。
Improve this question
我在 DigitalOcean NGINX 服务器上托管了一个生产 Laravel 网站,每次我 git push 新更新时,我总是运行以下命令:
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
composer dump-autoload
这是一个好习惯,还是在我的服务器上运行这些命令会导致问题?
最佳答案
所有clear
s 除外 cache
一个可以是您的部署脚本的一部分。
但是正在运行 php artisan cache:clear
在生产中是非常危险的,会导致意想不到的结果,例如丢失所有关键数据。
假设您的缓存驱动程序、队列驱动程序、 session 驱动程序是 redis
它们都共享同一个 redis 实例(同一个主机)。当你执行 cache:clear
它将执行以下方法
/**
* Remove all items from the cache.
*
* @return bool
*/
public function flush()
{
$this->connection()->flushdb();
return true;
}
它所做的是执行
flushdb
redis 命令。它将刷新所有用户的 session 、所有排队的作业、所有缓存的项目、所有与广播相关的代码(如果它们在同一个数据库中)。这是methodDelete all the keys of the currently selected DB. This command never fails.
编辑:如果他们使用相同的redis驱动程序+相同的主机但不同的数据库,那么这可能不会导致副作用问题,但需要手动配置为不同的组件设置不同的数据库。
关于php - 可以运行php artisan :clear commands on a production laravel website?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61879288/