一、下载解压php
wget https://www.php.net/distributions/php-7.2.20.tar.bz2 tar -xjvf php-7.2.20.tar.bz2 cd php-7.2.20
注意:如果解压不成功,可能是因为没有bzip2解压工具
yum install -y bzip2
二、编译安装php
# --prefix=php安装路径 --with-config-file-path=配置文件路径 ./configure --prefix=/usr/local/php-7.2.20 --with-config-file-path=/usr/local/php-7.2.20
出现问题了:
解决问题:
yum install libxml2-devel
重新执行./configure命令,编译成功:
执行命令:(时间长,我大概等了10分钟)
make
make完后执行命令:
make install
三、测试
创建一个php测试文件,输出“Hello World”;
cd /usr/local/php-7.2.20 vim test.php
按:wq保存
然后执行命令:
./bin/php test.php
测试成功,编译安装php成功。
注意:这时你执行 php -v 会提示没有php命令,先去 ~/.bash_profile 添加环境变量
vim ~/.bash_profile
最后执行命令,使环境变量生效:
source ~/.bash_profile
这时执行 php -v 就可以看到php的版本了:
另外,每次执行php脚本时都要找到 /usr/local/php-7.2.20/bin/php ,有点麻烦,简化一下:
同样编辑 ~/.bash_profile 文件:添加一行
然后 source ~/.bash_profile 就行了。
四、配置文件
发现php安装目录下没有配置文件,这需要去源码中(刚才那个php解压文件)复制过来:
cp ~/php-7.2.20/php.ini-development /usr/local/php-7.2.20/php.ini
如果我们不知道配置文件的路径,我们可以通过以下方式查看 php.ini 的路径:
php -i | grep php.ini
或者
php --ini
五、编译安装Swoole
先安装git依赖
# Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # 为了能够添加更多格式的文档(如 doc, html, info),你需要安装以下的依赖包 yum install asciidoc xmlto docbook2x
在github下载最新版本:https://github.com/git/git/releases
wget https://github.com/git/git/releases/tag/v2.22.0 tar zxvf v2.22.0.tar.gz cd git-2.22.0
编译安装:(我安装在 /usr/local/git 目录里)
make prefix=/usr/local/git all make prefix=/usr/local/git install
配置环境变量:
vim /etc/profile # 然后在文件的最后一行,添加下面的内容,然后按 :wq 保存退出。 export PATH=$PATH:/usr/local/git/bin # 先移除自带的git包 yum remove git # 使用source命令生效。 source /etc/profile
查看git版本:
配置git:(设置用户名和email)
git config --global user.name “YourName” git config --global user.email "YourEmail@domain.com"
为github账号添加SSH keys:
ssh-keygen -t rsa -C "YourEmail@domain.com"
系统会提示 key 的保存位置(一般是 ~/.ssh 目录)和指定口令,保持默认,连续三次即可
然后cat获取 id_rsa.pub 文件内容,粘贴到github账号管理的添加SSH KEY界面中:
cat ~/.ssh/id_rsa.pub
然后将id_rsa.pub文件中的内容粘贴到gitub的“SSH and GPG keys”中。最后测试一下:
ssh -T git@github.com
好了,接下来下载Swoole:https://gitee.com/swoole/swoole
git clone https://gitee.com/swoole/swoole.git