CentOS 原始碼安裝 PHP7.2.4 並新增 swoole 2.1.1 擴充套件

hallo_monde發表於2018-05-01
安裝環境

在接下來中我將使用安裝有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 協議》,轉載必須註明作者和本文連結

相關文章