V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhengwhizz
V2EX  ›  PHP

deployer 部署 laravel 项目的缓存疑问

  •  1
     
  •   zhengwhizz · 2019-05-11 11:45:10 +08:00 · 3311 次点击
    这是一个创建于 2025 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7 条回复    2019-05-11 13:15:18 +08:00
    m939594960
        1
    m939594960  
       2019-05-11 11:53:35 +08:00
    我感觉你说的这种情况是 opcache 的原因,有的时候软链会导致 opcache 不能自动刷新缓存。
    zhengwhizz
        2
    zhengwhizz  
    OP
       2019-05-11 11:57:29 +08:00
    @m939594960 这么一说还真有可能 ,服务器确实装了 opcache
    zhengwhizz
        3
    zhengwhizz  
    OP
       2019-05-11 11:58:50 +08:00
    @m939594960 那有什么命令或者办法在不删除上一版本的前提下去刷新 opcache 的缓存呢?
    m939594960
        4
    m939594960  
       2019-05-11 12:00:04 +08:00   ❤️ 1
    nginx 的话可以重启 fpm,也可以手动调用一下这个方法 https://php.net/manual/zh/function.opcache-reset.php
    zhengwhizz
        5
    zhengwhizz  
    OP
       2019-05-11 12:08:08 +08:00
    @m939594960 另外再请教下,我的一个 nginx 服务器始终指向默认站,https://www.v2ex.com/t/563105#reply1
    avenger
        6
    avenger  
       2019-05-11 12:45:28 +08:00 via iPhone
    部署后重启 fpm 就可以了
    ihipop
        7
    ihipop  
       2019-05-11 13:15:18 +08:00 via Android
    nginx 的 fastcgi parameter 里面把 document root 改成 real root 损失一点 io 性能,原因是 deployer 为了回滚方便用了软连接。
    当然你也可以从根上着手关闭 deployer 这个回滚设计,直接部署到真目录,因为一般都是 ci 部署,deployer 自带的版本回滚没什么用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3015 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:52 · PVG 22:52 · LAX 06:52 · JFK 09:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.