hobbyliu
V2EX  ›  问与答

PHP opcache 问题

  •  
  •   hobbyliu · Jun 29, 2018 · 3119 views
    This topic created in 3050 days ago, the information mentioned may be changed or developed.

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

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

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

    13 replies  •  2020-12-23 13:42:54 +08:00
    slowgen
    slowgen
    PRO
    Jun 29, 2018
    1
    给 php-fpm 的 master 进程发送 USR2 信号量
    hobbyliu
    hobbyliu
    OP
    Jun 29, 2018
    2
    @shuimugan 目前脚本没有操作的 php-fpm 的权限,否则直接 reload 了
    kslr
    kslr
    Jun 29, 2018 via Android
    3
    opcache 得不偿失
    torbrowserbridge
    torbrowserbridge
    Jun 29, 2018 via Android
    4
    实际上不开 opcache 也会有此问题。
    yangqi
    yangqi
    Jun 29, 2018
    5
    明显不是 opcache 的锅,说清楚点怎么软连的。
    iyaozhen
    iyaozhen
    Jun 29, 2018 via Android
    6
    软链是什么操作?一般不是直接覆盖代码吗?
    1762628386
    1762628386
    Jun 29, 2018
    7
    @iyaozhen 覆盖代码会引起报错
    hobbyliu
    hobbyliu
    OP
    Jun 30, 2018
    8
    @yangqi ln -sfn releases/20180628074559 current
    iyaozhen
    iyaozhen
    Jun 30, 2018 via Android
    9
    @1762628386 不应该啊,我们覆盖了好几年了
    cp -r
    hobbyliu
    hobbyliu
    OP
    Jul 2, 2018
    12
    @linoder 这个效果我理解我和我的 http://127.0.0.1/opreset.php 效果是一样的,只不过是通过 cli 来执行。
    hikoming
    hikoming
    Dec 23, 2020
    13
    @huangzxx 这个有效
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3244 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    ♥ Do have faith in what you're doing.