- 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
出现的问题
- --with-openssl=/usr/local/Cellar/openssl/1.0.2r # 根据自己安装的位置确定
brew install openssl - configure: error: png.h not found.
brew install libpng - configure: error: freetype-config not found.
brew install freetype