centos7 访问php页面显示源码_源码编译安装PHP7+swoole4,还不懂源码编译就out了

俗话说:“技多不压身”,虽然平时很少去编译安装PHP等其它软件,但是作为一个程序员,这点东西还是有必要掌握的,万一以后转运维了咋整?下面就跟小编一起来学习下PHP编译安装吧!

d3afeab3d01ad548057a4f18332642a1.png

php

环境及原料:centos7.6 + php7.2 + swoole4.3(linux系统环境自行安装)

一、源码编译安装PHP7.2

第一步:下载PHP7.2源码(最好是PHP官网下载)

命令:wget http://am1.php.net/distributions/php-7.2.1.tar.gz

e4d9077568799c6215231470af01c658.png

下载php源码包

af5f3c5fa27c7fa6cdb5b607a0857666.png

php2.1源码包

第二步:解压下载好的PHP源码包

命令:tar xvf php-7.2.1.tar.gz

532406ca0384c6a1e8e96dc8574c5444.png

解压后的php文件

第三步:进入PHP源码目录,开始编译步骤

cd php-7.2.1中,看到configure这个文件,这个文件是编译前指定具体配置的命令,下面就会用到

cd9626f738ef50ff74f29a1df2432be5.png

php源码包中的文件

编译前可以用 ./configure --help 查看可以做哪些配置

bb664c65aaca04eff3cf60ec4c74bf91.png

./configure --help

编译又分几个步骤:

1、编译前配置,这项配置php安装目录(后面可以加参数配置其它配置项)

命令: ./config --prefix=/usr/local/php21

f861abd776ee7b85c3faa2316337c714.png

./configure --prefix=/usr/local/php21

21a7d8fd0b7ef24d0c1ca7ac83245feb.png

配置时检查结果

2、编译源码,使用 make 命令

50d1e1a8f71f4bfa2d2bb9d64ac3c47e.png

编译源码make

ce7c9e75100a7de39b52fef486df8a63.png

编译成功

3、使用 make test 命令排错

84c3232d8b0b85d24ceec4e83f55d253.png

make test排错过程

4、make install 安装编译好的文件到系统

08f96b95b2795bf929184aec576d2efa.png

make install安装编译文件

5、复制php.ini-development文件到/usr/local/php21/lib 里面

命令:cp php.ini-development /usr/local/php21/lib/php.ini

fd1477d2cfb60ab77c91c3a9076e2ce5.png

php.ini文件

这样,PHP源码编译安装就完成了,进入安装目录查看,cd /usr/local,看到php21就是安装好的PHP

2e1d37ab6de326912ee67c1a885ea957.png

php安装目录

接下来我们来验证一下是否安装成功,命令 /usr/local/php21/bin/php -v

36496c5770dd66209aabc0c9ffd24170.png

看到PHP版本,安装成功

可以把安装的php加入环境变量,以后命令行用起来就很方便了;编辑 vim /etc/profile 文件,文件末尾加上 alias php21='/usr/local/php21/bin/php',保存退出,执行 source /etc/profile 使之生效。然后直接命令执行 php21 -v,如下图,表示成功:

d8a9d98757338c57fc48c726f977a5ac.png

添加环境变量后php21 -v

到这里,PHP的源码编译安装就已经完成了,接下来我们在这个基础上进行源码编译安装swoole4。

二、源码编译安装swoole4

其实,编译安装跟安装php差不多,只是中间需要做一步使用php的config配置安装,下面一起来看看

第一步:下载swoole4源码

命令wget https://github.com/swoole/swoole-src/archive/v4.3.1.tar.gz

bf1bece13a3bed4b7881802158c4f055.png

下载swoole源码

75a6c22829a28b3a72904be4cce456b8.png

swoole源码包

第二步:解压swoole源码包

命令:tar xzvf v4.3.5.tar.gz

9b38d77e37c03e2bc2ddf83c83281848.png

swoole源码解压包

7c845ff5a992aec7df28fc2df33facba.png

swoole源码文件

第三步:使用phpize在swoole源码目录下生成编译swoole扩展的configure文件

命令:/usr/local/php21/bin/phpize(这个命令是php专门用来安装扩展的)

35c407328edf03bc782b8b10ea8d456d.png

phpize生成configure

edce006dfea1ec3b1f939993cc7717f5.png

phpize后的源码文件

现在看到源码文件中包含了configure文件,后续的安装就跟普通编译基本一致了。

第四步:进行swoole的编译安装过程

1、加载php配置php-config

命令:./configure --with-php-config=/usr/local/php21/bin/php-config

cd1031beb51af23361cfee3289b8db7e.png

./configure --with-php-config

2、make编译源码

6214a1c9ddbcfb28fb25c52effcc4dbf.png

make编译源码

2c2f128f5f88ef45811c85a3e3ca0099.png

编译结果

3、make test排错

e68b7cc169d3b65b8f0188c40057af97.png

make test排错

4、make install安装编译后的文件到系统

5c222dfd934cd2441332404acff7b4be.png

make install安装结果

进入/usr/local/php21/lib/php/extensions/no-debug-non-zts-20170718/ 目录查看生成了swoole.so的文件,swoole编译安装成功

623cd2de1ab6559b0a305183a93cfae1.png

swoole.so扩展

5、编辑php.ini文件中添加一行 extension=swoole.so

9e2a831cedd85313643380cabff10e4e.png

添加extension=swoole.so

6、验证swoole是否安装成功,php21 -m查看扩展中是否有swoole

61b6ef9dc62e717e3e2cdeabaeff25bd.png

php -m查看swoole是否加载成功

到这里,咱们的swoole源码编译安装就成功了,下面我们可以写个程序看看php+swoole的运行。

三、php+swoole程序验证

1、新建php文件 vim httpServer.php,编入如下代码,保存退出。

bf16ba667a46c2974b3dcc8b1070d4c2.png

swoole编写一个http服务

2、在当前目录执行php httpServer.php,如下:进入进程内,没有报错,服务开启成功。

706c5970d6fb2f57b25a147ac347bd38.png

开启一个http服务

3、新开一个命令行窗口,访问这个http服务,看响应结果:

627cb1510257c9e1ceacdcd919fb8580.png

客户端接收到服务器的返回内容

0b6370d02379c770f7dc5616065928cc.png

服务器端输出的自定义字符串

到这里,我们的编译安装php+swoole就全部完成且成功,编译过程中如遇到报错,一般就是缺少某些依赖,在网上查找即可解决问题。

四、总结

经过对php的源码安装和对swoole扩展的源码安装,我们大概就了解了,其实编译安装也没有想象中那么麻烦那么难,基本上就三步操作:(1) make (2) make test (3) make install,所以说记住这三步,过程中耐心、细心、专心,那就绝对没有问题;看完这些,妈妈再也不用担心我不会编译安装了!

205d8dfd88ca8fdf0844af940acc6080.png

swoole

好了今天的分享就到这里,喜欢我的内容,欢迎转发、关注~~ 后续内容更精彩~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值