PHP 8.0 源码编译安装以及 JIT 尝鲜

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

PHP 8.0 源码编译安装以及 JIT 尝鲜

奇技指南

PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天给大家分享一篇最简化的 PHP 8 源码编译安装方法,快速尝鲜 PHP 8.0 的新特性 JIT。

操作系统:CentOS Linux release 7.4.1708 (Core)

GCC:4.8.5 20150623 (Red Hat 4.8.5-28)

PHP 版本:php-8.0.0alpha1

1、下载页面

https://downloads.php.net/~pollita/
登录后复制

2、下载 PHP 8.0

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
登录后复制

3、解压

tar -zxvf php-8.0.0alpha1.tar.gz
登录后复制

4、新建安装目录

由于本机有多个 PHP 版本并存,需要新建一个富有意义的目录,一个不假思索就能知晓 PHP 版本的目录名称。

 mkdir -p /usr/local/php80
登录后复制

5、configure options

这是一个精简版配置选项,更加丰富的 PHP 配置选项说明:https://www.php.net/manual/en/configure.about.php

 cd php-8.0.0alpha1  ./configure --prefix=/usr/local/php80/ --enable-debug --enable-fpm  --with-config-file-path=/usr/local/php80/etc/ --with-config-file-scandir=/usr/local/php80/etc/php.d/
登录后复制

若在 configure 过程中,遇到提示 configure: error,留意看下方的错误详细信息。以下 列出了在配置过程中出现的错误情况之关键信息摘要,未列举到的其它错误情况,解决方 法如出一辙:

Error #1:

configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: No package 'libxml-2.0' found
登录后复制

解决方法:

yum install libxml2-devel.x86_64
登录后复制

Error #2:

configure: error: Package requirements (sqlite3 > 3.7.4) were not met: No package 'sqlite3' found
登录后复制

解决方法:

yum install sqlite-devel.x86_64
登录后复制

如果看到以下提示信息,说明 configure 这步已经成功啦。

6、编译&安装

 make
登录后复制

make 阶段消耗的时间与机器配置有关哟,若看到以下信息,说明 make 阶段已经完成 了。

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz0
登录后复制

make test 由于是尝鲜,这步先省略了。

 make install  exit 0;  -v -d /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.y -o  /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.c  Installing shared extensions:       /usr/local/php80/lib/php/extensions/debugnon-zts-20190128/   Installing PHP CLI binary:        /usr/local/php80/bin/   Installing PHP CLI man page:      /usr/local/php80/php/man/man1/   Installing PHP FPM binary:        /usr/local/php80/sbin/   Installing PHP FPM defconfig:     /usr/local/php80/etc/   Installing PHP FPM man page:      /usr/local/php80/php/man/man8/   Installing PHP FPM status page:   /usr/local/php80/php/php/fpm/   Installing phpdbg binary:         /usr/local/php80/bin/   Installing phpdbg man page:       /usr/local/php80/php/man/man1/   Installing PHP CGI binary:        /usr/local/php80/bin/   Installing PHP CGI man page:      /usr/local/php80/php/man/man1/   Installing build environment:     /usr/local/php80/lib/php/build/   Installing header files:          /usr/local/php80/include/php/   Installing helper programs:       /usr/local/php80/bin/     program: phpize     program: php-config   Installing man pages:             /usr/local/php80/php/man/man1/     page: phpize.1     page: php-config.1   /home/fanjiapeng/php-8.0.0alpha1/build/shtool install -c ext/phar/phar.phar /usr/local/php80/bin/phar.phar   ln -s -f phar.phar /usr/local/php80/bin/phar   Installing PDO headers:           /usr/local/php80/include/php/ext/pdo/
登录后复制

7、验证 PHP

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz2
登录后复制

8、环境配置

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz3
登录后复制

9、验证配置路径

验证自定义的配置项是否生效:--with-config-file-path,--with-config-file-scan-dir

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz4
登录后复制

10、启动 FPM

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz5
登录后复制

11、验证 FPM

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz6
登录后复制

这里省略掉了 Nginx 配置详情,主要是为了快速测试安装的 PHP-FPM 模式是可用的。

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz7
登录后复制
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz8
登录后复制

12、尝鲜新特性 JIT

机器配置:8核16G,SATA盘,操作系统:CentOS Linux release 7.4.1708 (Core)

Zend OPCache(/usr/local/php80/etc/php.ini)配置如下,[opcache] 配置项大部分都 有默认值,为了突显这些配置项的重要性还是列举了出来:

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz9
登录后复制

这是一台资源空闲的虚拟机,重复多次开启 JIT、关闭 JIT 测试结果观察,结果值几乎无什 么变化。测试结果也没有特意去挑选其中一次最漂亮的数据,实际上也没这个必要。如下 图所示:

13、总结

这是一个通用性 PHP 源码编译安装方法,其它 PHP 版本编译安装方式类似,实际业务运 用中 configure options 要丰富的多,需要安装的类库也会更加全面。这篇文章中,测试 了 PHP 8 的新特性 JIT,依据 Zend/bench.php 测试结果看,还是让大家眼前一亮的。关 于 PHP 8 JIT 介绍,推荐《PHP8新特性JIT使用简介》。

推荐文章:《PHP8.0》

以上就是PHP 8.0 源码编译安装以及 JIT 尝鲜的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:介绍Centos安装PHP7及配置php-fpm开机启动
下一篇:聊聊laravel中登录错误提示的更改和自定义方法

发表评论

关闭广告
关闭广告