PHP opcache 问题

2018-06-29 19:29:00 +08:00
 hobbyliu

最近组内项目切换到了,一个上线系统,大致原理是 打包->发包->解压->更改软连。 由于目前项目都用到了 opcache,导致最后一步更改软连后 fpm 还是打到老得代码目录。

自己找了一个解决方案: 1、更改软连后,在生产机器上执行 curl -H "xxx.com" "http://127.0.0.1/opreset.php" 2、项目中默认你加一个 opreset.php 里面 执行 opcache_reset();

但是这种方法不是很奏效,opcache 也经常无法清除。

2055 次点击
所在节点    问与答
13 条回复
shuimugan
2018-06-29 19:34:16 +08:00
给 php-fpm 的 master 进程发送 USR2 信号量
hobbyliu
2018-06-29 19:35:07 +08:00
@shuimugan 目前脚本没有操作的 php-fpm 的权限,否则直接 reload 了
kslr
2018-06-29 21:10:04 +08:00
opcache 得不偿失
torbrowserbridge
2018-06-29 21:20:15 +08:00
实际上不开 opcache 也会有此问题。
yangqi
2018-06-29 21:24:22 +08:00
明显不是 opcache 的锅,说清楚点怎么软连的。
iyaozhen
2018-06-29 22:52:21 +08:00
软链是什么操作?一般不是直接覆盖代码吗?
1762628386
2018-06-29 23:00:38 +08:00
@iyaozhen 覆盖代码会引起报错
hobbyliu
2018-06-30 06:21:28 +08:00
@yangqi ln -sfn releases/20180628074559 current
iyaozhen
2018-06-30 11:32:21 +08:00
@1762628386 不应该啊,我们覆盖了好几年了
cp -r
huangzxx
2018-06-30 17:14:49 +08:00
linoder
2018-06-30 20:56:42 +08:00
hobbyliu
2018-07-02 11:06:09 +08:00
@linoder 这个效果我理解我和我的 http://127.0.0.1/opreset.php 效果是一样的,只不过是通过 cli 来执行。
hikoming
2020-12-23 13:42:54 +08:00
@huangzxx 这个有效

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

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

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

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

© 2021 V2EX