tar -jxvf php-7.4.1.tar.bz2
进入到解压目录php-7.4.1
cd php-7.4.1/
执行以下命令,编译配置检测,–prefix指定安装目录,没有指定默认安装到/user/local
./configure --prefix=/home/soft/php/php7.4.1 --with-config-file-path=/home/soft/php/php7.4.1/etc --with-mysqli=mysqlnd --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-curl --with-gd --with-gmp --with-zlib --with-xmlrpc --with-openssl --without-pear --with-snmp --with-gettext --with-mhash --with-libxml-dir=/home --enable-xml --enable-fpm --enable-ftp --enable-bcmath --enable-soap --enable-shmop --enable-sysvsem --enable-sockets--enable-inline-optimization --enable-maintainer-zts --enable-mbregex --enable-mbstring --enable-pcntl --enable-zip --disable-fileinfo --disable-rpath --enable-libxml --enable-opcache --enable-mysqlnd
make
执行make install安装,安装成功在/home/soft/php7.4.1查看
make install
查看php是否安装成功,执行./bin/php -v
显示php版本信息,说明安装成功
简化php执行命令,编辑根目录下的 .bash_profile文件(vim ~/.bash_profile
)
vim ~/.bash_profile
接着就可以直接可以这样执行
如果执行无效,执行以下命令再执行
source ~/.bash_profile
# 缺少 c 编译器,安装 GCC
yum install gcc
cp /home/softpackage/php-7.4.1/php.ini-development php.ini
改了php.ini的配置,不生效,查看php配置文件所需放的目录
php7.4.1 -i |grep php.ini
mv php.ini ./lib
unzip swoole-swoole-v4.4.13.zip
cd swoole
Swoole扩展是按照PHP标准扩展构建的。使用phpize来生成编译检测脚本,./configure来做编译配置检测,make进行编译,make install进行安装。
# 生成编译检测脚本
/home/soft/php7.4.1/bin/phpize
# 编译配置检测
./configure --with-php-config=/home/soft/php7.4.1/bin/php-config
# make进行编译
make
# make install进行安装
make install
进入php.ini配置文件,添加下面这行
执行,查看扩展是否存在
php7.4.1 -m
测试swoole是否正常,进入swoole源码目录下/home/softpackage/swoole/examples/server
,如下图
执行php7.4.1 echo.php
,没有报错,新开窗口执行netstat -anp|grep 9501
查看端口状态,如下说明开启成功
我本地环境介绍(以及出现的问题的解决方案):
php7.4.1 -v
可直接查看,如果环境条件不满足请自行升级或重装新的PHP版本)php --ri swoole
可查看到swoole的一些信息,里面可看到版本信息)我安装php时没安装pcntl扩展,所以需要先安装这个扩展
进入php源码包,进入/home/softpackage/php-7.4.1/ext
目录,找到pcntl
,
# 进入目录
cd pcntl
# 生成编译检测脚本
/home/soft/php7.4.1/bin/phpize
# 编译配置检测
./configure --with-php-config=/home/soft/php7.4.1/bin/php-config
# make进行编译
make
# make install进行安装
make install
同理安装openssl(后面安装composer需要),成功会再php的扩展目录分别多一个.so文件,
最后去php.ini开启扩展
我是将composer安装到/home/softpackage/
目录
进入目录并依次执行下列命令安装最新版本的 Composer:
php7.4.1 -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php7.4.1 composer-setup.php
php7.4.1 -r "unlink('composer-setup.php');"
执行第一句报一下错误,说明没有安装openssl扩展,安装后再执行
执行第一条命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。
上述 3 条命令的作用依次是:
局部安装
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了,比如我项目使用composer安装easyswoole,如下
1、切换阿里云镜像
/home/softpackage/composer.phar config -g repo.packagist composer https://mirrors.aliyun.com/composer/
2、执行如下命令,出现下图
php7.4.1 /home/softpackage/composer.phar require easyswoole/easyswoole=3.x
php7.4.1 vendor/easyswoole/easyswoole/bin/easyswoole install
php7.4.1 easyswoole start
此时可以访问 http://你自己的地址:9501 看到框架的欢迎页面,表示框架已经安装成功
注意:如果访问失败,注意端口是否放行,包括云服务商安全组和宝塔面板(如果有使用)