编译安装php,并安装swoole扩展

  • PHP版本 7.2.2 下载地址
  • swoole版本 2.1.0
git clone --branch v2.1.0 https://gitee.com/swoole/swoole.git

编译安装PHP

# 解压并安装,php编译所需环境提前自行配置好
tar -xjvf php-7.2.2.tar.bz2
./confgure --prefix=/data/soft/php-7.2.2
make
make install
# 安装成功
root /data/soft$/data/soft/php-7.2.2/bin/php -v # 输入命令
PHP 7.2.2 (cli) (built: Mar 17 2019 22:14:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# 配置php.ini路径
root /data/soft$php7 -i | grep php.ini
Configuration File (php.ini) Path => /data/soft/php-7.2.2/lib # 加载php.ini的路径
cp /data/opt/php-7.2.2/php.ini-development /data/soft/php-7.2.2/lib/ # 复制安装包的php.ini到lib目录
mv php.ini-development php.ini # 重命名
# 设置环境变量
vim /etc/profile
alias php7=/data/soft/php-7.2.2/bin/php # 在最后插入
source /etc/profile # 立即生效
php7 -v # 在任意终端即可使用php7命令

编译安装swoole

# cd 的安装包的目录
/data/soft/php-7.2.2/bin/phpize # 若当前目录没有configure文件,则执行该命令生成
# 开始编译安装swoole
./configure --with-php-config=/data/soft/php-7.2.2/bin/php-config # 指定php的配置文件
make
make install
# 加载swoole模块
extension=swoole # 修改php.ini 文件,插入这一行
# 查看是否加载成功,看到swoole就是成功加载了
macdeMac-mini:server g_wei$ php7 -m | grep swoole
swoole

测试swoole能否成功跑起来

cd /data/opt/swoole/examples/server # cd 的swoole的测试例子中
php7 echo.php # 执行脚本文件,默认的执行端口是9501
# 可以看到9501已经被swoole使用了,成功运行
g_wei /data/opt/swoole/examples/server$lsof -i tcp:9501
COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
php     11009 g_wei    3u  IPv4 0xd00896007113a22f      0t0  TCP *:9501 (LISTEN)

找不到php-fpm,重新编译php

php7 -i | grep Configure  # 可查看编译时的配置参数
make clean
./configure --prefix=/data/soft/php-7.2.2' '--with-pdo-mysql' '--with-mysqli' '--with-pdo_mysql' '--with-iconv-dir' '--with-zlib' '--with-libxml-dir' '--enable-xml' '--with-curl' '--enable-fpm' '--enable-mbstring' '--with-gd' '--with-openssl=/usr/local/Cellar/openssl/1.0.2p' '--with-mhash' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--with-freetype-dir=/usr/lib64
make 
make install
# 漫长的等待之后,编译完成,就可以在安装目录下找到php-fpm

出现的问题

  1. --with-openssl=/usr/local/Cellar/openssl/1.0.2r # 根据自己安装的位置确定
    brew install openssl
  2. configure: error: png.h not found.
    brew install libpng
  3. configure: error: freetype-config not found.
    brew install freetype

你可能感兴趣的:(编译安装php,并安装swoole扩展)