我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

前几天的文章里面,苏南大叔编译安装了一款古老的php@5.5.38。在查找phpsrc源码的时候,发现现在的php版本都是8时代了。所以,也就顺手在centos上编译了一下php@8。其实,这个php8的编译和php@5.5的编译,没有太大的差别。所以,本文里面也就不太详细描述了。

苏南大叔:centos系统,如何编译最新版php7/php8解释器? - centos-build-phpsrc
centos系统,如何编译最新版php7/php8解释器?(图3-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,主要讲述苏南大叔和计算机代码的故事。本文中讲述,centos系统下,对最新版本php解释器的的编译事项。本文中,测试环境:centos@7.7.1908re2c@0.13.4bison@3.0。共编译了两款php,分别是:php@7.4.28以及php@8.1.4。流程基本上一致,就是换个phpsrc文件路径的区别,同时configure的参数也可能不同。

re2cbison

re2cbison是在centos上编译最新版php编译器的最大变数。总的结论是:根据编译过程中的提示信息,re2c需要最新版0.13.4bison需要个合适的版本3.0。详情请参考:

苏南大叔:centos系统,如何编译最新版php7/php8解释器? - 依赖版本号
centos系统,如何编译最新版php7/php8解释器?(图3-2)

可能需要的命令是:
安装re2c

yum install re2c

安装bison-3.0.1

wget --no-check-certificate  https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz
tar -zxvf bison-3.0.1.tar.gz
cd bison-3.0.1/
sudo chmod -R 777 ./
./configure
make
make install

phpsrc代码下载

苏南大叔本文的实验龙套演员,截至到发稿,最新php7版本是7.4.28php8版本是8.1.4。源码都是在github上面下载的,地址是:

然而,对于读者来说,选择一款您需要的phpsrc代码即可。苏南大叔之所以安装了两款,主要原因是想实验的一款扩展php-screw-plus,不支持php8。所以,降级使用了php7来配合实践这款php-screw-plus扩展。总之,选择好您的phpsrc源码。本文中为了行为方便,命令行里面就以php8为主要讲解对象了。

苏南大叔:centos系统,如何编译最新版php7/php8解释器? - phpsrc-github
centos系统,如何编译最新版php7/php8解释器?(图3-3)

编译过程

编译过程,比较简单。其中的设置./configure参数的步骤,苏南大叔并没有仔细研究对应的选项都有哪些,只是设置了个通用的参数,大家请根据实际情况设置。

wget https://github.com/php/php-src/archive/refs/heads/PHP-8.1.4.zip
unzip PHP-8.1.4.zip
cd php-src-PHP-8.1.4/
chmod -R 755 ./
./buildconf --force
./configure --prefix=/home/php8
make -j8
make install

说明:

  • ./buildconf --force--force实际上是第二次编译的时候需要添加的参数,但是第一次编译也带上的话,没有问题。
  • ./configure --prefix参数,决定最终编译结果的make install的物理位置,请思考之后再做设置。
  • ./configure的更多参数,请使用./configure --help查看。
  • nmake -j8表示有8个cpu内核的意思。其实,似乎也没有啥大作用。

编译结果位置

<base>根目录位置是--prefix中设置的。其中的php可执行文件的位置是:

<base>/bin/php

编译扩展时,所需要的phpizephp-config的位置是:

<base>/bin/phpize
<base>/bin/php-config

参考文献

总结

对于phpsrc编译这件事情上来说,在centos环境下编译,简易程度远超winmac。所以,特定环境下,选择centos来获得一款最新的php,也是个非常不错的选择。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   centos    phpsrc