在生产laravel网站上运行php artisan:clear命令可以吗?
我在DigitalOcean NGINX服务器上托管了一个生产Laravel网站,每次git推送新更新时,我都会运行以下命令:在生产laravel网站上运行php artisan:clear命令可以吗?,php,laravel,server,composer-php,laravel-artisan,Php,Laravel,Server,Composer Php,Laravel Artisan,我在DigitalOcean NGINX服务器上托管了一个生产Laravel网站,每次git推送新更新时,我都会运行以下命令: php artisan config:clear php artisan cache:clear php artisan route:clear php artisan view:clear composer dump-autoload 这是一种很好的做法,还是在我的服务器上运行这些命令会导致问题?除缓存之外的所有清除都可以作为部署脚本的一部分 但是在生产环境中运行
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
composer dump-autoload
这是一种很好的做法,还是在我的服务器上运行这些命令会导致问题?除
缓存之外的所有清除都可以作为部署脚本的一部分
但是在生产环境中运行php-artisan-cache:clear
风险极高,会导致意外结果,例如丢失所有关键数据
假设您的缓存驱动程序、队列驱动程序、会话驱动程序是redis
,它们都共享相同的redis实例(相同的主机)。执行cache:clear
时,将执行以下方法
/**
* Remove all items from the cache.
*
* @return bool
*/
public function flush()
{
$this->connection()->flushdb();
return true;
}
它所做的是执行redis的flushdb
命令。它将刷新所有用户的会话、所有排队作业、所有缓存项、所有广播相关代码(如果它们位于同一数据库中)。这是你的电话号码
删除当前选定数据库的所有键。这个命令永远不会失败
编辑:如果他们使用相同的redis驱动程序+相同的主机但不同的数据库,则这可能不会导致副作用问题,但需要手动配置为不同组件设置不同的数据库 我同意@Ersoy的回答,但只是想补充一点
我在push上运行这些命令,而不是使用clear,我重新缓存配置和路由。
尽管要记住,route:cache并不能处理所有可能的路由,请参阅laravel文档
php artisan config:cache
php artisan route:cache
php artisan view:clear
composer install --no-dev
运行composer dump autoload怎么样?它可以/应该是部署脚本的一部分。转储自动加载没有什么坏处@Jakescervino运行:cache或:clear有什么区别?clear会擦除数据,cache,存储数据的编译版本,以提高速度,尽管我主要使用config:cache作为共享主机,因为所有站点共享同一个环境,为什么会导致任何问题?你看到了吗?仅仅因为我没有“看到”任何问题,并不意味着没有问题。