我个人有一台阿里云的 ECS 服务器,平时用来测试的,前段时间 装过php7.2 是按照线上生产环境的步骤做的,只不过,生产环境不可能是一台一台手动安装的。我今天只是想把单台的安装步骤分享出来。
先安装php
#系统环境
centos linux release 7.4.1708 (Core)
#安装依赖包,注意的是 表示换行符,后面千万不要加空格
yum install libxml2-devel
openjpeg
openjpeg-devel
openjpeg-libs
libpng
libpng-devel
freetype-devel
mcrypt
php-mcrypt
libmcrypt
libmcrypt-devel
bzip2
bzip2-devel
openssl-devel
gcc
gcc-c++
autoconf
libjpeg-turbo
libjpeg-turbo-devel
libcurl-devel
unzip
mariadb-devel
#编译安装 指定 版本的 php
wget https://www.php.net/distributions/php-7.2.29.tar.gz
tar xf php-7.2.29.tar.gz
cd php-7.2.29
./configure
--prefix=/usr/local/php7.2
--with-config-file-path=/usr/local/php7.2/etc
--with-pdo-MySQL=/usr/bin/mysql_config
--with-mysqli=/usr/bin/mysql_config
--enable-mbstring
--with-gd
--with-jpeg-dir=/usr/lib
--with-freetype-dir=/usr/lib
--enable-fpm
--enable-exif
--enable-sockets
--with-curl
--enable-zip
--with-zlib
--with-openssl
make
make install
#生产配置文件
cp php.ini-production /usr/local/php7.2/etc/php.ini
#我暂时没用到fpm,就先不配置fpm了
# 添加opcache扩展 ,并启用
vi /usr/local/php7.2/etc/php.ini
#添加
zend_extension=opcache.so
#启用
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
# 添加环境变量
echo 'export PATH=/usr/local/php7.2/bin:$PATH' >/etc/profile.d/php.sh
source /etc/profile.d/php.sh
#查看php 版本 php -v
再安装扩展模块(我只是安装了我们需要的,根据自己需要安装)
#redis 扩展
tar xf redis-3.1.6.tgz
cd redis-3.1.6
/usr/local/php7.2/bin/phpize
./configure --with-php-config=/usr/local/php7.2/bin/php-config
make
make install
cd ../
# memcached 扩展
tar xf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached
make
make install
cd ../
tar xf memcached-3.0.4.tgz
cd memcached-3.0.4
/usr/local/php7.2/bin/phpize
./configure --with-php-config=/usr/local/php7.2/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make
make install
cd ../
#mcrypt
tar xf mcrypt-1.0.1.tgz
cd mcrypt-1.0.1
/usr/local/php7.2/bin/phpize
./configure --with-php-config=/usr/local/php7.2/bin/php-config
make
make install
cd ../
#uuid
sudo yum install libuuid-devel -y
tar xf uuid-1.0.4.tgz
cd uuid-1.0.4
/usr/local/php7.2/bin/phpize
./configure --with-php-config=/usr/local/php7.2/bin/php-config
make
make install
cd ../
########################
# 添加这些扩展
sudo vi /usr/local/php7.2/etc/php.ini
extension=redis.so
extension=memcached.so
extension=mcrypt.so
extension=uuid.so
#查看扩展 php -m
现在来安装号称 php 最强的一个扩展模块 Swoole
Swoole 是一个 PHP 的 协程 高性能 网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。
# 需要安装依赖 openssl-devel 和 autoconf ,我前面已经装过了, 就不再安装了
tar xf v4.4.15.tar.gz
cd swoole-src-4.4.15/
/usr/local/php7.2/bin/phpize
./configure
--with-php-config=/usr/local/php7.2/bin//php-config
--enable-swoole
--enable-openssl
--enable-http2
--enable-sockets
make
make install
#添加扩展到配置文件
vi /usr/local/php7.2/etc/php.ini
extension=swoole.so
# 可以查看扩展模块详情 php --ri swoole