注意事项
# 源码包下载地址
https://www.php.net/downloads.php
# 相关库下载(不下载会报各种安装错误,可以自行尝试)
yum -y install libxml2-devel libjpeg-devel \
libpng-devel freetype-devel curl-devel openssl-devel \
yum -y install gcc-c++ yum install sqlite-devel yum install autoconf
# 上传下载命令使用(使用rz上传下载好的源码包)
yum install lrzsz
# 创建不登录用户
useradd -r www -s /sbin/nologin
# 下载好的源码包存放路径
/usr/local/src
安装php
# 切换目录
cd /usr/local/src
# 解压源码包
tar -zxvf php-8.0.28.tar.gz
# 切换目录
cd php-8.0.28
# 编译配置
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
// --prefix=/usr/local/php 安装目录
// --with-config-file-path=/usr/local/php/etc 配置文件目录
// --enable-fpm 开启php-fpm功能(fastcgi)
// --with-fpm-user=www 以www用户运行php-fpm
// --with-fpm-group=www 以www用户组运行php-fpm
// --with-mysqli=mysqlnd 安装php-mysqli扩展
// --with-pdo-mysql=mysqlnd 安装php-pdo-mysql扩展
# 编译安装
make && make install
# 切换目录进入php
cd /usr/local/php
# 拷贝默认配置文件
cp /usr/local/src/php-8.0.28/php.ini-development /usr/local/php/etc/php.ini
# 拷贝主配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# 拷贝子配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# 添加启动服务脚本,内容如下:
vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm --daemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 重新加载启动服务
systemctl daemon-reload
# 启动php服务
systemctl start php-fpm
# 开机启动
systemctl enable php-fpm
# 添加环境变量
echo "export PATH=$PATH:/usr/local/php/bin" >> /etc/profile
# 重新加载环境
source /etc/profile
安装swoole
# 切换目录
cd /usr/local/src
# 安装git
yum -y install git
# 克隆源码包(包是最新版的,如果需要安装其它的,请自行查找)
git clone https://gitee.com/swoole/swoole.git
# 切换目录
cd swoole
# php扩展swoole模块
phpize
# 查看php配置目录
whereis php
# 配置,指定makefile目录
./configure --with-php-config=/usr/local/php/bin/php-config
# 编译安装
make && make install
php支持swoole
# 切换目录
cd /usr/local/src
# 查找php.ini文件
find / -name php.ini
# 编辑配置
vim /usr/local/php/etc/php.ini
# 增加扩展模块代码
extension=swoole
# 查看模块是否成功
php -m
测试swoole使用
# 切换目录
cd /usr/local/src
# 安装测试命令使用
yum install telnet-server yum install telnet
# 编辑文件sleep.php
$server = new Swoole\server('0.0.0.0',7749);
$server->set([
'worker_num'=>1 //设置多个进程
]);
$server->on('receive',function($server,$fd,$reactorId,$data){
$server->send($fd,'aaaa');
sleep(5);
$server->send($fd,"Swoole : {$data}");
});
$server->start();
# 运行文件
php sleep.php
# 测试命令
telnet 127.0.0.1 7749