PHP 安装

安装依赖

yum -y install gcc openssl*  libxml2-devel bzip2

PHP源码下载

解压

tar -xjvf php-7.3.3.tar.bz2

设置全局

cd php-7.3.3
# 配置PHP路径
./configure --prefix=/usr/local/php
# 构建
make
# 安装
make install
# 设置PHP全局
vim /root/.bash_profile
# 添加如下
alias ll='ls -al'
alias cls=clear
alias php=/usr/local/php/bin/php
# 保存并退出,令配置生效
source /root/.bash_profile
# 查看PHP是否生效
php -v
# 返回以下说明成功
PHP 7.3.3 (cli) (built: Jun 22 2019 01:35:56) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.3, Copyright (c) 1998-2018 Zend Technologies

配置文件

  我们编译好的php目录下是没有php.ini文件的.而我们一开始解压好的php目录下面是有配置文件的.所以我们现在需要把解压好的目录下面的php.ini放到我们安装 的php目录下

cd /data/softpackage/php-7.3.3
ll | grep php.ini
# 我们需要php.ini-production
-rw-r--r--.  1 qvbilam qvbilam   70877 3月   5 08:50 php.ini-development
-rw-r--r--.  1 qvbilam qvbilam   71149 3月   5 08:50 php.ini-production
# 复制配置文件到安装目录
cp php.ini-development /usr/local/php/etc/php.ini

  我们一开源码安装只设定了php的路径,没有设置配置文件的路径.查看一下配置文件的路径.

php -i | grep php.ini
# 返回路径,明显不再etc下
Configuration File (php.ini) Path => /usr/local/php/lib
# 移动配置文件
mv /usr/local/php/etc/php.ini /usr/local/php/lib

Swoole 安装

下载

# 安装git
yum install -y git
# 下载
cd /data/softpackage/
git clone https://github.com/swoole/swoole-src.git

安装

# 进入目录
cd swoole-src
# 拓展模块,生成confgure文件
/usr/local/php/bin/phpize
# 返回出现错误
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
# 解决方法
# 下载autoconf
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
tar xzf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure
make && make install
# 下载m4
cd /data/softpackage/
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
# 配置swoole
cd ../swoole-src/
./configure --with-php-config=/usr/local/php/bin/php-config
# 可以看到部分的错误信息
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/data/softpackage/swoole-src':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
# 还是因为缺少依赖包,安装他们
yum install -y glibc-headers gcc-c++
# again
cd ../swoole-src
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
# 返回
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
Installing header files:          /usr/local/php/include/php/
# 查看拓展
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/
ll
# 有swoole了哦~
总用量 18400
drwxr-xr-x. 2 root root       58 6月  22 13:38 .
drwxr-xr-x. 3 root root       39 6月  22 01:39 ..
-rwxr-xr-x. 1 root root  4212370 6月  22 01:39 opcache.a
-rwxr-xr-x. 1 root root  2277744 6月  22 01:39 opcache.so
-rwxr-xr-x. 1 root root 12341360 6月  22 13:38 swoole.so
# 编辑配置文件
find / -name 'php.ini'  # 查找配置文件
vim /usr/local/php/lib/php.ini
# 添加
extension=swoole
# 保存,退出.
php -m | grep swoole
# 成功的话会返回swoole.

验证

# 首先现在个net工具
yum install -y net-tools
# 回到swoole解压目录
cd /data/softpackage/swoole-src/
# 启动测试文件
php examples/server/echo.php
# 不用等返回结果啦~令开一个端口输入
netstat -anp | grep 9501
# 如果下面返回的有结果,说明安装成功
tcp        0      0 0.0.0.0:9501            0.0.0.0:*               LISTEN      44070/php

  OJBK.睡觉,接下来要更新Swoole咯哦~

105.gif

Last modification:February 18th, 2020 at 10:23 pm