PHP7.0正式版编译安装升级及WordPress问题解决分享

盼望以久的PHP 7.0正式版,终于在今天发布了!PHP7.0正式版编译安装升级及WordPress问题解决分享

官方给出的新特性如下:

PHP 7.0.0 comes with new version of the Zend Engine with features such as (incomplete list):

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • Consistent 64-bit support
  • Many fatal errors are now Exceptions
  • Removal of old and unsupported SAPIs and extensions
  • The null coalescing operator (??)
  • Combined comparison Operator (<=>)
  • Return Type Declarations
  • Scalar Type Declarations
  • Anonymous Classes

至于新特性是什么,百度一下都有大牛给出很详细的解释,不过我也看不太懂,但是我看懂了一条:

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • PHP7的性能将是PHP5.6的2倍!

好了,其他就不用看了,单这一条就已经有升级的动力了吧!

之前就用过RC版本,性能确实提高了很多,但是在PHP7.0环境中,Begin主题存在不少问题,由于不是正式版,我也就懒得花时间去解决了。

今天官方发布了正式版,于是利用下班时间给博客编译安装了PHP7.0,且一并解决了Begin主题依然存在的不兼容问题,下面简单的分享下。

一、编译安装

以下安装步骤是在已有PHP5的环境下进行的,不保证能够顺利完成,仅供参考。

①、下载PHP

这是PHP官方的PHP7.0正式版的国内CDN下载地址,可以放心下载。

②、解压编译

基本大家伙都已经安装了PHP的5.6或更老的版本,所以我们可以编译安装到一个新的路径。

上面的编译安装激活了opcache缓存,如果不需要可以去掉 --enable-opcache,个人推荐使用。

③、设置参数

Ps:以上参数等代码从lnmp一键安装包中提取。

④、版本替换

php 7 已经安装到了 /usr/local/php7,为了让2个版本暂时都存在,方便过渡,这里我们使用软链接搞定

哦了,做完以上步骤,要是没报错基本就已经搞定了,执行一下php --version 应该可以看到版本信息了

二、问题解决

升级到PHP7之后,网站不出意外的白屏了!但是,不必惊慌,静下心来看看是什么问题。

①、不兼容某些PHP加密方案

直接编辑wp-config.php,插入如下内容开启PHP的错误显示:

保险起见,刷新下php,因为opcache可能有缓存:

service php-fpm reload

再次刷新网站,发现原来是鸟哥的Begin加密带来的错误,看来PHP7不支持这个加密形式。好吧,直接找鸟哥要来一份没有加密的Begin,继续测试。

②、重复函数冲突

替换最新未加密Begin主题之后,毫无意外,还是报错...

看了下,原来是鸟哥把归档页面自动更新的那个函数添加到了主题,和我的子主题已有函数存在冲突。

直接注释其一,搞定!

③、评论没有内容

解决完上面几个问题之后,正在享受PHP7带来的提速快感,突然发现前台和后台都不显示评论内容了!只显示评论作者等信息。

突然想起之前测试PHP7 RC版本的时候就出现过,但是没有深究直接放弃了。

 

定位方法很简单,再次开启PHP所有错误显示,然后刷新后台评论界面,发现有如下报错:

PHP7.0正式版编译安装升级及WordPress问题解决分享

原来是preg_replace函数在PHP7中已经弃用了/e 这个参数,改用了 preg_replace_callback 函数。

于是,找到错误所指向的文件及函数,发现是评论贴图功能,于是把/e 去掉或改成/i 试了下,暂时没发现有啥问题,估计贴图功能会有异常吧!

暂时没空研究如何替换成 preg_replace_callback 函数,后面再具体研究学习下。

三、简单测试

问题解决了,应该测试下性能了。

不过,一直也没用过啥专业的性能测试工具,粗人一个,直接目测后台同一个页面加载效果。

PHP 5.6 加载WordPress后台【所有文章】页面,头部响应耗时2.6s

PHP7.0正式版编译安装升级及WordPress问题解决分享

PHP 7.0 加载WordPress后台【所有文章】页面,头部响应耗时1.5s

PHP7.0正式版编译安装升级及WordPress问题解决分享

简单目测已经高下立分!绝对不是心理作用,后台速度提升相当明显了。

当然,博客前台我一直是用的纯静态,所以升级php7也只是为了提升自己的后台体验!

后面有时间,再来详细深入的测试下php7的性能吧!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:30   其中:访客  23   博主  7

  1. moto x 5 来自天朝的朋友 QQ浏览器 Windows 7 湖北省武汉市 电信

    刚才点了下下面的随机推荐 页面最上方出现两行的错误提示 后面点又没有了

  2. 好书网 4 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    过来看看、支持一下

  3. 易资讯网 1 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省温州市 电信

    博主真是神速!由于自己技术不高,暂时不折腾了,等你们这类高手发现问题,并分享了解决办法后,我再尝试弄弄,感谢分享

  4. CK 1 Hong Kong 谷歌浏览器 Windows 7 香港 电讯盈科有限公司

    我對PHP版本有什麼差別也不認識…

  5. 爆实惠 2 来自天朝的朋友 谷歌浏览器 Windows 10 河南省郑州市 电信

    感谢分享,博客不错!! :cool:

  6. 瑾瑜 4 来自天朝的朋友 谷歌浏览器  XT910 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 安徽省合肥市 中国科学技术大学

    这么快就用上了,我还是再等等吧。

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

      今天把http2.0也启用了 :mrgreen:

      • 回梦博客 2 来自天朝的朋友 Safari浏览器  Android 5.0.2 MI 2S Build/LRX22G 广东省广州市白云区 /天河区电信

        本来也想试下http/2的,但是光想想就觉得麻烦呢,首先得升级nginx,貌似用http/2要ssl比较好,然后又得换https,就像你前一篇文章那样,要处理各种问题。。。。 :???: :???:

        • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

          http2 必须要ssl的

  7. 激动能人 1 来自天朝的朋友 谷歌浏览器 Windows 7 河北省沧州市 联通

    你的网站服务器好,打开很快!来取经学习了。谢谢分享,转走了,嘿嘿,http://www.jindangong.com/ 这是我的多指点

  8. 微商网 2 来自天朝的朋友 谷歌浏览器 Windows 7 河北省保定市 电信

    小白一枚 实在是看不懂代码 只能飘过。。

  9. jarod 0 谷歌浏览器 Windows 7 香港 xTom数据中心

    我升级到PHP7直接白屏,郁闷

  10. app制作 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

    不错哦,支持一下

  11. 技术宅 4 来自天朝的朋友 火狐浏览器 Windows 7 江苏省南京市 电信

    博主您好,站内广告防止屏蔽的代码可以指教下吗?

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_1 广东省深圳市 电信

      你想太复杂了,这个并不是防止屏蔽,只是屏蔽之后显示了背景图片而已。
      要实现非常简单,给广告位DIV加一个背景图即可,直接看下我博客广告位那部分代码就知道了。

  12. harries 3 来自天朝的朋友 谷歌浏览器 Windows 7 亚太地区

    网站速度访问好慢

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_1 广东省深圳市 电信

      亚太地区?你什么网络?

      • 公鸡你作甚 0 来自天朝的朋友 谷歌浏览器 Windows 7 江苏省无锡市 电信

        启用https2.0首次打开有点慢,还有一点css读取太慢

  13. god 4 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省西安市 电信

    明显比以前还快

  14. 微页 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省河源市 电信

    看看还不错 :evil:

  15. 小武 6 来自天朝的朋友 谷歌浏览器 Windows 10 辽宁省大连市 电信

    前人栽树,后人乘凉
    感谢张哥的分享。 :oops:

    一、编译安装 -> ④、版本替换 代码第6行 应该是

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_2 广东省深圳市 电信

      额,粗心了。

      • 小武 6 来自天朝的朋友 谷歌浏览器 Windows 10 辽宁省大连市 电信

        你一次回复, 我会收到两封提示邮件, 一个ge(a)zhangge.net 另一个是no-reply(a)zhangge.net 。注意检查下。

  16. Yephy 4 来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市福田区 电信

    现在是真心不敢手贱升级7

  17. rainman 4 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_3 江苏省 电信(全省通用)

    4、版本替换那里第一段代码第六行…mv /php php5 似乎应该是 mv php php5…

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      手误。。

  18. 明月登楼 5 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 联通

    博主的折腾精神值得我辈学习膜拜!

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      已经折腾不动了,原创内容已吐完,现在是瓶颈期。

      • 明月登楼 5 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 联通

        哈哈,越折腾越有创意嘛!折腾不息,创意不断!

  19. 成都SEO 3 来自天朝的朋友 火狐浏览器 Windows 7 四川省成都市 电信

    张哥,评论不显示。。。。

加载中,请稍候...