CentOS 源码安装 PHP7.2.4 并添加 swoole 2.1.1 扩展

安装环境

在接下来中我将使用安装有centos7.4系统的京东云主机来为大家演示,ps:建议大家使用京东云来练手安装,毕竟新手注册免费送一个月云主机


  • 代码包如下所示
    [root@JD ~]# pwd
    /root
    [root@JD ~]# ls
    mysoft  work
    [root@JD ~]# cd mysoft/
    [root@JD mysoft]# ls
    php-7.2.4.tar.bz2  swoole-swoole-v2.1.1.zip
    [root@JD mysoft]#

  • 源码安装 php

    • tar -jxvf php-7.2.4.tar.bz2 命令解压 php-7.2.4.tar.bz2 目录

    • cd php-7.2.4/ 进入 php-7.2.4.tar.bz2 目录

    • mkdir /usr/local/src/php7.2.4 新建 php 安装目录

    • ./configure --prefix=/usr/local/src/php7.2.4 检查配置

      • 如果报下面的错 是因为没有安装 gcc 使用 yum install gcc* 安装即可

        checking for cc... no
        checking for gcc... no
        configure: error: in `/root/mysoft/php-7.2.4':
        configure: error: no acceptable C compiler found in $PATH
        See `config.log' for more details
      • 如果报 error: libxml2 not found
        rpm -qa |grep libxml2 检查是否安装了libxm包
        如果安装了 就直接 yum install libxml2-devel
        如果没有 先 yum install libxml2yum install libxml2-devel

    • make && make install 进行编译 时间会比较长

    • 下面我们来测试一下 创建一个 hello.php 内容为输出 hello world!

      [root@JD ~]# vim hello.php
      [root@JD ~]# /usr/local/src/php7.2.4/bin/php hello.php 
      hello world!
      [root@JD ~]#

      运行成功

    • 改进一下 如果我们直接使用 php hello.php 系统会报错 -bash: php: command not found
      vim ~/.bash_profile 如下添加 php 别名即可

      export PATH
      alias php=/usr/local/src/php7.2.4/bin/php

      别忘了再 source ~/.bash_profile 一下
      现在就可以直接使用 php hello.php 运行 php 代码了

    • 现在你可能觉得你的php已经安装成功了 但是你会发现一个致命问题 你找不到php.ini 文件

      [root@JD ~]# find / -name php.ini
      [root@JD ~]#

      源码安装的话我们需要把 源码包里的 php.ini 文件拷贝到我们的安装目录
      拷贝到哪里呢 这时我们可以使用命令 php -i |grep php.ini

      [root@JD php-7.2.4]# php -i |grep php.ini
      Configuration File (php.ini) Path => /usr/local/src/php7.2.4/lib

      我们可以看见需要我们拷贝到 lib 目录
      使用 命令 cp php.ini-development /usr/local/src/php7.2.4/lib/php.ini
      拷贝成功

    • 至此 我们的 php 7.2.4 已经完全安装成功了


  • 源码安装swoole
    • unzip swoole-swoole-v2.1.1.zip 解压 swoole
    • cd swoole/ 进入swoole 目录
    • /usr/local/src/php7.2.4/bin/phpize 生成 configure 文件
      • 如果报错 Cannot find autoconf. 使用命令 yum install autoconf 安装即可
    • ./configure --with-php-config=/usr/local/src/php7.2.4/bin/php-config
    • make && make install 进行编译
    • 编译完成后 在 php.ini 的最后一行加上 extension=swoole.so
    • php -m |grep swoole 查找 swoole 是否安装成功
      [root@JD lib]# php -m |grep swoole
      swoole
    • swoole 安装成功

  • 尝试结合php使用swoole

  • swoole 的源码包中有很多swoole的demo 例如 swoole/examples/server 目录下有一个 echo.php

  • echo.php 开启了tcp 服务并监听了 9501 端口

  • netstat -anp |grep 9501 我们查看9501端口现在没有被占用

    [root@JD lib]# netstat -anp |grep 9501
    [root@JD lib]#
  • php echo.php 现在我们运行 echo.php

  • 再次查看9501端口已经被 php 占用了

    [root@JD lib]# netstat -anp |grep 9501
    tcp        0      0 0.0.0.0:9501            0.0.0.0:*               LISTEN      27728/php
  • 现在我们的swoole的一个简单的服务就被我们开启了

  • 以后就可以愉快的使用swoole进行开发了

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
讨论数量: 3

数据库和服务器都不安装了?

5年前 评论

@sunlinesun 数据库和服务器对很多人来说安装已经驾轻就熟了,所以这里没有详细介绍,如果想了解可以看我之前的帖子。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!