deployer 部署 laravel 项目的缓存疑问

2019-05-11 11:45:10 +08:00
 zhengwhizz

我使用 deployer 部署了 laravel 项目,过程没问题,current 成功指向最新版本,访问时前端资源文件也变了,但是与 php 有关的都是上一版本的逻辑,直接查看服务器上的 php 文件也是最新的,非得人为把前一版本文件夹删除,才会使用最新部署的 php 脚本?有知道是什么原因的大神吗? view:clear cache:clear 都执行过还是一样。

3159 次点击
所在节点    PHP
7 条回复
m939594960
2019-05-11 11:53:35 +08:00
我感觉你说的这种情况是 opcache 的原因,有的时候软链会导致 opcache 不能自动刷新缓存。
zhengwhizz
2019-05-11 11:57:29 +08:00
@m939594960 这么一说还真有可能 ,服务器确实装了 opcache
zhengwhizz
2019-05-11 11:58:50 +08:00
@m939594960 那有什么命令或者办法在不删除上一版本的前提下去刷新 opcache 的缓存呢?
m939594960
2019-05-11 12:00:04 +08:00
nginx 的话可以重启 fpm,也可以手动调用一下这个方法 https://php.net/manual/zh/function.opcache-reset.php
zhengwhizz
2019-05-11 12:08:08 +08:00
@m939594960 另外再请教下,我的一个 nginx 服务器始终指向默认站,https://www.v2ex.com/t/563105#reply1
avenger
2019-05-11 12:45:28 +08:00
部署后重启 fpm 就可以了
ihipop
2019-05-11 13:15:18 +08:00
nginx 的 fastcgi parameter 里面把 document root 改成 real root 损失一点 io 性能,原因是 deployer 为了回滚方便用了软连接。
当然你也可以从根上着手关闭 deployer 这个回滚设计,直接部署到真目录,因为一般都是 ci 部署,deployer 自带的版本回滚没什么用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/563099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX