PHP 7 吓哭了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zts1993
V2EX    PHP

PHP 7 吓哭了

  •  
  •   zts1993 2015-02-05 10:53:30 +08:00 17037 次点击
    这是一个创建于 3991 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先要安抚一下买了PHP6书籍的同学,你们真的看不到PHP6了。
    政治立场:PHP世界上最好的语言 ,逃) 肯定有人要打我。

    昨天闲着没事升级一下vps上的php,反正都是跑博客,挂了也没关系。

    第一个是军哥lnmp,用自带的升级脚本改一改就可以了。
    改好的在这。。http://blog.zts1993.com/5735.html
    使用前记得备份数据,可能需要手动启一下php-fpm。
    如果挂了,你可以一行一行手动执行脚本看看问题在哪。如果真的不行,建议使用lnmp原版升级php版本的脚本进行恢复。

    第二个是AMH 4.2的升级脚本。
    改好的在这。。http://blog.zts1993.com/5744.html
    使用前记得备份数据
    如果挂了,你可以一行一行手动执行脚本看看问题在哪。如果真的不行,如果挂了我可救不了你,所以要慎重。。。。。。。。没找到AMH回滚的方法,不过我把php备份在了
    /usr/local/php_old

    ,或许可以就你一命

    注意两个版本都没有socket,原因是我编译不过,或许是matser分支这个部分就是编译不过?反正我不用php socket~ 逃)

    总之,升级要慎重,一定记得备份数据。
    不要升级生产环境,自己玩玩还是很high的,WordPress和GreenCMS的load time都减少了50%(对比开启了opcache的php5.6.。。。快的简直飞起

    PHP7 源码: https://github.com/php/php-src/
    master分支就是PHP7 dev

    脚本 https://gist.github.com/zts1993/5ebfdd6e9191dd5dec03

    <script src="https://gist.github.com/zts1993/5ebfdd6e9191dd5dec03.js"></script>

    59 条回复    2015-02-09 17:14:10 +08:00
    582033
        1
    582033  
       2015-02-05 10:54:42 +08:00
    看标题,以为是要解释下被php7吓哭的原因呢
    solu
        2
    solu  
       2015-02-05 11:04:11 +08:00
    看标题还以为 HHVM 放大招
    laoyuan
        3
    laoyuan  
       2015-02-05 11:11:53 +08:00
    支持立场,还有 PHP + JS + AAuto 真的就无敌了
    zjgood
        4
    zjgood  
       2015-02-05 11:13:55 +08:00 via Android
    为啥我编译php7的时候没有遇到问题呢。。。肯定是你漏装了库
    mkeith
        5
    mkeith  
       2015-02-05 11:20:24 +08:00
    为什么PHP的变量要美元开头呢?
    Dannytmp
        6
    Dannytmp  
       2015-02-05 11:29:54 +08:00   1
    @mkeith 创造者也是很喜欢美刀的,为了时刻不忘,就用它做变量开头了
    zts1993
        7
    zts1993  
    OP
       2015-02-05 11:31:50 +08:00
    @582033 好快
    zts1993
        8
    zts1993  
    OP
       2015-02-05 11:32:15 +08:00
    @solupro PHP7和hhvm差距很小了。
    club
        9
    club  
       2015-02-05 11:32:20 +08:00
    @Dannytmp 你就扯吧。。。
    meecle
        10
    meecle  
       2015-02-05 11:36:57 +08:00
    @mkeith perl 里面也是以$开头,解释是,scalar(标量) 的第一个单词,
    而php 里面,估计也是受了这些语言的影响吧
    notnumb
        11
    notnumb  
       2015-02-05 12:39:18 +08:00
    bash也是
    hpu423
        12
    hpu423  
       2015-02-05 13:10:19 +08:00
    ubuntu 最简单的命令 装php运行环境

    ``sudo apt-get install lamp-server^ ``
    lingo233
        13
    lingo233  
       2015-02-05 13:14:01 +08:00
    PHP世界上最好的语言
    Troevil
        14
    Troevil  
       2015-02-05 13:17:01 +08:00
    比起 php5.x 性能差别大吗,据宣传听说是无限接近hhvm的
    jandan
        15
    jandan  
       2015-02-05 13:18:42 +08:00
    load time都减少了50% ,这个很吸引。
    zts1993
        16
    zts1993  
    OP
       2015-02-05 13:23:08 +08:00
    @Troevil 都说了,测试下来wp提速100%了。你说快不快~~~~~~~
    66beta
        17
    66beta  
       2015-02-05 13:28:03 +08:00
    @hpu423 就差mcrypt
    msg7086
        18
    msg7086  
       2015-02-05 14:07:17 +08:00
    兼容性才是大问题。discuz拿来跑hhvm都能挂,php7还不知道会怎么样呢。
    bjzhush
        19
    bjzhush  
       2015-02-05 14:09:58 +08:00
    刚装完PHP7,顺手测了几下子。。还可以
    yylzcom
        20
    yylzcom  
       2015-02-05 14:13:11 +08:00 via Android
    @zts1993 提速100%是什么鬼?原来加载需要10秒,提速100%后时间多长?

    原谅我数学差
    wdlth
        21
    wdlth  
       2015-02-05 14:13:38 +08:00
    @msg7086 Discuz自己为了兼容PHP 5.2,不支持新特性而已,连PHP 5.4都不能用。别说什么HHVM,HHVM不支持eval,而Discuz的模板引擎用一大堆eval。
    msg7086
        22
    msg7086  
       2015-02-05 14:20:02 +08:00
    @yylzcom 原来每10秒加载1个网页,现在提速1倍,每10秒可加载2个。

    @wdlth 原来如此,受教了。
    DZ我现在强行跑在5.6下,勉强还行,虽然hack了一堆函数。
    tczzjin
        23
    tczzjin  
       2015-02-05 14:24:43 +08:00
    php7我们这边编译的时候socket是ok的呢..是不是什么参数不对?
    cevincheung
        24
    cevincheung  
       2015-02-05 14:38:48 +08:00
    从来都是自己编译,表示没有任何问题……

    https://cevin.me/tz.php
    zts1993
        25
    zts1993  
    OP
       2015-02-05 18:04:15 +08:00
    @yylzcom 时间减半
    zts1993
        26
    zts1993  
    OP
       2015-02-05 18:05:05 +08:00
    @msg7086 你说那些只能跑PHP5.2的程序能怪谁。==
    kn007
        27
    kn007  
       2015-02-05 18:13:27 +08:00
    一直等PHPNG出正式版!
    zts1993
        28
    zts1993  
    OP
       2015-02-05 19:28:46 +08:00
    @kn007 PHP-NG代码已经merge到PHP的主分支了。就是我发的这个PHP7 ~~~~~~~~
    sumhat
        29
    sumhat  
       2015-02-05 19:30:35 +08:00
    两个链接都 400 了,估计是升级的结果吧 :P
    zts1993
        30
    zts1993  
    OP
       2015-02-05 19:32:04 +08:00
    @sumhat 没有啊。。== 。我看是好的呀
    lin
        31
    lin  
       2015-02-05 22:18:00 +08:00
    amh运行升级脚本后502
    jeequ
        32
    jeequ  
       2015-02-05 22:40:50 +08:00
    不会搞,还是等升级PHP7的方法出来吧
    w4462358
        33
    w4462358  
       2015-02-05 22:41:27 +08:00
    @mkeith 受perl影响
    kn007
        34
    kn007  
       2015-02-05 23:01:14 +08:00
    @zts1993 我知道,我装过了
    zts1993
        35
    zts1993  
    OP
       2015-02-05 23:30:10 +08:00 via Android
    @lin php-fpm没起来,检查php -version,检查php-fpm配置文件,检查amh php restart结果。502是站点502还是面板502?
    xuhaoyangx
        36
    xuhaoyangx  
       2015-02-05 23:49:29 +08:00
    @zts1993 在本地试过php7和HHVM,感觉php5.6能秒开其实就不错了。相对之前5.3有很大提升了
    lin
        37
    lin  
       2015-02-06 00:09:34 +08:00
    @zts1993 谢谢,之前是都502。后来我重新执行了一次脚本。好了。
    47jm9ozp
        38
    47jm9ozp  
       2015-02-06 00:22:42 +08:00
    为什么你们都喜欢用一键编译脚本呢。。。。。
    aiwha
        39
    aiwha  
       2015-02-06 00:29:50 +08:00
    @ooxxcc 就是啊,我也很困惑,难道怕编译时间过长,开个终端时间么?我反正从不喜欢用脚本的,连FreeBSD的ports我都要先看看Makefile确认后再用。。。
    msg7086
        40
    msg7086  
       2015-02-06 01:45:34 +08:00
    @zts1993 但是现在的程序还得跑下去啊,总不能因为环境淘汰了所以把论坛关了吧
    ashong
        41
    ashong  
       2015-02-06 01:46:52 +08:00
    @ooxxcc 原本以为方便, 上了船后悔也来不及了
    Troevil
        42
    Troevil  
       2015-02-06 03:28:19 +08:00
    友情提示php7 貌似不兼容ZendGuardLoader.so 和 eAccelerator ,编译php7前最好先卸载 不然 启动php-fpm 会失败
    pubby
        43
    pubby  
       2015-02-06 04:56:20 +08:00 via Android
    @Troevil 从5.5开始应该用不到eAccelerator了,5.6加自带的Zend OPcache跑了大半年了,非常稳定
    zts1993
        44
    zts1993  
    OP
       2015-02-06 08:16:43 +08:00 via Android
    @Troevil 对了,。忘了说了,。要注释掉。。。。
    zts1993
        45
    zts1993  
    OP
       2015-02-06 08:18:05 +08:00 via Android
    @ooxxcc 一键是给赖人用的,你不喜欢可以一行行手动做嘛,主要是给不会编译的人一个参考。。
    zts1993
        46
    zts1993  
    OP
       2015-02-06 08:19:25 +08:00 via Android
    @pubby opcache确实很厉害。7比开了opcache的5.*还是能提高很多的
    xuhaoyangx
        47
    xuhaoyangx  
       2015-02-06 08:21:14 +08:00
    @zts1993 问下lz,7下wordpress的打开wait速度能进100ms吗
    zts1993
        48
    zts1993  
    OP
       2015-02-06 08:23:56 +08:00 via Android
    @xuhaoyangx 我用的主题query 90次左右,5.*加opcache,在600ms左右,现在300多一点。
    xuhaoyangx
        49
    xuhaoyangx  
       2015-02-06 08:42:48 +08:00
    @zts1993 那挺不错的。我的5.6+opcache大概210-280之间,也就感觉没有升级的必要了
    zts1993
        50
    zts1993  
    OP
       2015-02-06 09:34:05 +08:00
    @xuhaoyangx 每个人机器还是有差距的吧~~等官方build再升级吧
    Troevil
        51
    Troevil  
       2015-02-06 09:46:33 +08:00
    @pubby 嗯 ,我是从5.3升上来的 ,所以还用着eAccelerator 呢。。。
    lin
        52
    lin  
       2015-02-08 23:11:56 +08:00
    AMH的虚拟主机起不来:

    [08-Feb-2015 23:07:29] ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock

    [08-Feb-2015 23:07:29] ERROR: FPM initialization failed
    zts1993
        53
    zts1993  
    OP
       2015-02-08 23:47:16 +08:00 via Android
    @lin fpm已经起了,这个是amh的。每个主机有自己的fpm进程,
    lin
        54
    lin  
       2015-02-09 00:15:32 +08:00
    @zts1993 我看过了,升级以前的虚拟主机能运行,但是升级过后创建的虚拟主机就不行,amh对应的虚拟主机列表上的php按钮红色,然后我发现tmp里有以前的虚拟主机的 .sock文件,但是就没有新建的虚拟主机的 .sock 文件。

    而php-fpm.log的内容是我贴的两条。
    zts1993
        55
    zts1993  
    OP
       2015-02-09 08:03:02 +08:00 via Android
    @lin 权限问题,我也遇到过,
    lin
        56
    lin  
       2015-02-09 10:06:24 +08:00
    @zts1993 请问如何解决这个问题?
    tini11
        57
    tini11  
       2015-02-09 10:43:12 +08:00
    don't cry for me argentina
    zts1993
        58
    zts1993  
    OP
       2015-02-09 16:09:52 +08:00   1
    @lin 我chown就过去了,新建主机的问题没有遇到。我遇到的是旧主机的。检查一下/tmp的权限?
    lin
        59
    lin  
       2015-02-09 17:14:10 +08:00
    @zts1993 chown这步我之前试过了。现在我的解决办法是改用军哥的lnmp,配合你的脚本,完美运行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2248 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:08 PVG 00:08 LAX 08:08 JFK 11:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86