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

PHP 7 吓哭了

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

    首先要安抚一下买了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吓哭的原因呢
    solupro
        2
    solupro  
       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。后来我重新执行了一次脚本。好了。
    ooxxcc
        38
    ooxxcc  
       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   ·   我们的愿景   ·   实用小工具   ·   5383 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:40 · PVG 11:40 · LAX 20:40 · JFK 23:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.