将来的你
一定会感谢现在拼命努力的自己

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 的性能吧!

赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:contact@3yyy.top。文章观点不代表本站立场。本站原创内容未经允许不得转载:三叶运维 » PHP7.0正式版编译安装升级及WordPress问题解决分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏