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

谨慎升级 php7.4

  •  
  •   px920906 · 2020-01-07 14:55:28 +08:00 · 11470 次点击
    这是一个创建于 1787 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是 manjaro,上个月底升级了一次,一直没重启。

    昨天重启后,发现本地的 nginx+php 的测试环境不能用了,html 和静态文件可以正常访问,php 文件就是“File not found”,很奇怪。

    然后从昨天直到刚才,花了好几个小时 google,nginx 路径配置、nginx 和 php-fpm 服务启动用户、网站目录权限什么的,能搜到的基本都试过一遍,都没解决。简直崩溃。

    最后瞄了眼 php 版本,7.4.1,构建日期蛮新的,12 月 18 号,才想会不会是 php 的问题。于是在关键字里带上 7.4 去搜索( php-fpm 7.4 file not found ),才找到解决方案:

    https://bbs.archlinux.org/viewtopic.php?id=251050

    https://blog.sbw.so/u/php-fpm-7.4-file-not-found-array-type-null-error.html

    7.4 代码里加了个 ProtectHome=true,看起来是为安全性做的改进。改成 false 重启守护进程和 php-fpm 服务就可以了。

    不过我的网站目录是在 /usr/share/下,并不是官方代码注释里的 /home, /root, /run/user,大概是没列出来?

    ubuntu 还是 7.0,arch 系升级需谨慎啊

    18 条回复    2020-02-11 01:16:03 +08:00
    daya
        1
    daya  
       2020-01-07 17:12:31 +08:00
    追求稳定还是不要用 Arch 系的发行版
    iamverylovely
        2
    iamverylovely  
       2020-01-07 17:17:18 +08:00
    我依然毫不犹豫地输入了 sudo pacman -Syyu
    Evilk
        3
    Evilk  
       2020-01-07 17:21:56 +08:00
    目前阶段维持在 7.2,较为稳妥
    mitu9527
        4
    mitu9527  
       2020-01-07 17:31:53 +08:00
    PHP 7.4 刚发布没多久,还不稳定,自己尝鲜的话倒是可以用用;如果是生产环境,建议使用 7.3 ;如果非常追求稳定就用 PHP 7.2,已经是 Security Support 阶段了。
    ashong
        5
    ashong  
       2020-01-07 18:03:04 +08:00 via iPhone
    7.3 都不能直接用,老项目边界版本 7.2,上周被坑苦了
    flyz
        6
    flyz  
       2020-01-07 18:08:02 +08:00
    这么说来,我用着 5.6 不打算升级了。感觉异常稳定呀。
    kingwkb
        7
    kingwkb  
       2020-01-07 19:33:54 +08:00   ❤️ 1
    任何版本都保持在 home 目录是好习惯
    ben1024
        8
    ben1024  
       2020-01-07 19:46:12 +08:00
    正准备上 7.4.1
    acrisliu
        9
    acrisliu  
       2020-01-07 20:46:57 +08:00
    每天一次 yay 的路过。
    sagaxu
        10
    sagaxu  
       2020-01-07 21:04:37 +08:00 via Android
    ProtectHome 是 systemd 的功能,而且早在 3 年前就加入 php 的服务脚本了,https://github.com/php/php-src/commit/40c4d7f1820df1872a71ab07fd26da45a203e37f

    所以这跟 PHP 7.4 有什么关系呢?没看明白
    Mac
        11
    Mac  
       2020-01-07 21:15:41 +08:00 via Android
    宝塔面板里 7.4 没有 opcache,所以还在用 7.3
    falcon05
        12
    falcon05  
       2020-01-07 21:34:10 +08:00 via iPhone
    ProtectHome 为什么会把 /usr/share 也列进去了?
    spirit1431007
        13
    spirit1431007  
       2020-01-07 23:35:57 +08:00 via Android
    我目录放 /var/www 的,没出现这种情况🤔
    zjsxwc
        14
    zjsxwc  
       2020-01-07 23:37:58 +08:00 via Android
    docker 一把梭
    KENNHI
        15
    KENNHI  
       2020-01-07 23:46:08 +08:00
    毫不犹豫 pacman -Syyu +1
    我不光用 Arch,还要在服务器上用,还默认用 root 用户,从来懒得干切到普通用户在 sudo 的蛋疼事,除非要装 aur
    自己 high 完事了,反正自己的服务器建几个小东西玩,也不是什么生产环境
    lobtao
        16
    lobtao  
       2020-01-09 21:37:48 +08:00
    一直用着 php 7.0 :)
    flashrick
        17
    flashrick  
       2020-01-15 13:52:49 +08:00
    一直用着 php 7.1 :)
    7gugu
        18
    7gugu  
       2020-02-11 01:16:03 +08:00 via Android
    @flyz 如果是新项目就用 7.2 吧,性能上会好很多的,太老的项目在 7.2 上会不能用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1266 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:04 · PVG 02:04 · LAX 10:04 · JFK 13:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.