在学习Swoole以前,咱们先从源码安装PHP,Swoole,这里介绍两种环境安装方法,第一种是在Mac系统中直接安装的,第二种方法是经过Docker安装Ubuntu镜像,而后在容器里边进行php源码安装。
swoole官网:http://swoole.comphp
使 PHP 开发人员能够编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 能够普遍应用于互联网、移动通讯、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 做为网络通讯框架,可使企业 IT 研发团队的效率大大提高,更加专一于开发创新产品。redis
php7 swoole2.1 redis
源码安装php7 源码安装swoole
咱们的开发环境系统为:MacOS,若是为Windows系统,须要使用虚拟机运行Linux系统sql
生成环境咱们通常是经过源码安装的,进入php官网下载:http://php.net/,源码必须从官网下载,其余地方的不安全。docker
下载 7.2.21版本shell
步骤:json
tar -xjvf
一、解压:ubuntu
➜ softpackage tar -xjvf php-7.2.21.tar.bz2
二、进入解压目录vim
cd php-7.2.21
三、编译c#
# ./configure 为shell脚本,做用为须要安装的包进行依赖环境检测 ➜ php-7.2.21 ./configure --prefix=/work/study/soft/php
--prefix
表示php安装到哪一个路径,若是不写系统会默认放到一个路径。安全
四、make && make install
在mac系统中,为防止搞乱系统,因此,直接使用docker环境来安装PHP。
默认咱们已经安装好了docker
一、拉取Ubuntu镜像到本地
docker pull daocloud.io/ubuntu
二、建立容器
sudo docker run -it -p 2221:22 -p 8880:80 -v /work:/work 7698f /bin/bash
7698f
镜像名
-v
将宿主机的目录映射到容器对应的目录
三、安装编译须要的安装包
进入到容器中,而后执行如下命令:
apt-get update apt-get install gcc apt-get install autoconf apt-get install libxml2-dev
四、编译
cd /work/study/softpackage/php7.2.21 php7.2.21# ./configure --prefix=/work/study/soft/php php7.2.21# make && make install
五、测试
咱们安装的目录在:/work/study/soft/php
,该目录下有这几个文件夹。
root@5ee6bfcc1310:/work/study/soft/php# ls -l total 4 drwxr-xr-x 12 root root 408 Aug 27 18:08 bin drwxr-xr-x 3 root root 102 Aug 27 18:08 etc drwxr-xr-x 3 root root 102 Aug 27 18:07 include drwxr-xr-x 3 root root 102 Aug 27 18:07 lib drwxr-xr-x 3 root root 102 Aug 27 18:07 php drwxr-xr-x 4 root root 136 Aug 27 18:07 var
进入到安装目录后,而后经过命令./bin/php -m
查看扩展:
root@5ee6bfcc1310:/work/study/soft/php# ./bin/php -m [PHP Modules] Core ctype date dom fileinfo filter hash iconv json libxml pcre PDO pdo_sqlite Phar posix Reflection session SimpleXML SPL sqlite3 standard tokenizer xml xmlreader xmlwriter [Zend Modules]
咱们能够新建一个php脚本,测试一下是否安装成功。
root@5ee6bfcc1310:/work/study/soft/php# vim test.php root@5ee6bfcc1310:/work/study/soft/php# ./bin/php test.php hello
能够看到脚本能够运行,咱们的安装成功。
咱们能够看到,若是要执行php脚本,须要根据php完整路径来执行 /work/study/soft/php/bin/php test.php
,这样会很繁琐,很是麻烦,若是设置一个别名,后边直接跟一个脚本就很是简单,好比这样:php test.php
,是否是很是简洁?
修改执行命令须要将执行的命令添加到配置文件~/.profile
中:
vim ~/.profile
~/.profile
文件内容
# ~/.profile: executed by Bourne-compatible login shells. if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi mesg n || tru # User specific environment and startup programs # 下面为新增变量20190828 PATH=$PATH:$HOME/bin export PATH alias php=/work/study/soft/php/bin/php
或者直接修改 /etc/profile
配置文件
# 新增php快捷命令 alias php=/work/study/soft/php/bin/php
从新加载配置文件:
source /etc/profile
而后再测试是否成功:
root@5ee6bfcc1310:/work/study/soft/php# php test.php HELLO WORLD root@5ee6bfcc1310:~# php /work/study/soft/php/test.php HELLO WORLD
从上边看,咱们的命令执行成功。
注:~在LINUX下面是表明HOME这个变量的。另外在不一样的LINUX操做系统下,这个文件多是不一样的,多是~/.bash_profile
;~/.bash_login
或~/.profile
其中的一种或几种,若是存在几种的话,那么执行的顺序即是:~/.bash_profile
、~/.bash_login
、~/.profile
。好比我用的是Ubuntu,个人用户文件夹下默认的就只有~/.profile
文件。
咱们能够看到/work/study/soft/php/
安装的目录里边没有 php.ini
配置文件,这就须要咱们把源码包的 php.ini
拷贝到咱们的安装目录。
源码包:
root@5ee6bfcc1310:/work/study/softpackage/php-7.2.21# ls -l | grep 'php.ini' -rw-r--r-- 1 root root 71232 Jul 30 09:21 php.ini-development -rw-r--r-- 1 root root 71504 Jul 30 09:21 php.ini-production
拷贝:
root@5ee6bfcc1310:/work/study/softpackage/php-7.2.21# cp php.ini-development /work/study/soft/php/etc/
修改文件名 php.ini-development
为 php.ini
:
cd /work/study/soft/php/etc/ root@5ee6bfcc1310:/work/study/soft/php/etc# mv php.ini-development php.ini
这里还有一个坑,就是有时候咱们改了 php.ini
文件后没有生效,这样的问题怎么排查呢?
能够用下边这个命令来看:
root@5ee6bfcc1310:~# php -i | grep php.ini Configuration File (php.ini) Path => /work/study/soft/php/lib
咱们能够看到,最终的执行路径在 /work/study/soft/php/lib
下面,正常咱们是放在 /work/study/soft/php/etc
下边,编译以后会放在 /work/study/soft/php/lib
下,因此咱们把etc下边的移到lib下面便可:
mv ./etc/php.ini ./lib/
root@5ee6bfcc1310:~# php -i | grep php.ini Configuration File (php.ini) Path => /work/study/soft/php/lib Loaded Configuration File => /work/study/soft/php/lib/php.ini