我個(gè)人有一臺(tái)阿里云的 ECS 服務(wù)器,平時(shí)用來測(cè)試的,前段時(shí)間 裝過php7.2 是按照線上生產(chǎn)環(huán)境的步驟做的,只不過,生產(chǎn)環(huán)境不可能是一臺(tái)一臺(tái)手動(dòng)安裝的。我今天只是想把單臺(tái)的安裝步驟分享出來。

先安裝php
#系統(tǒng)環(huán)境
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
#生產(chǎn)配置文件
cp php.ini-production /usr/local/php7.2/etc/php.ini
#我暫時(shí)沒用到fpm,就先不配置fpm了
# 添加opcache擴(kuò)展 ,并啟用
vi /usr/local/php7.2/etc/php.ini
#添加
zend_extension=opcache.so
#啟用
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
# 添加環(huán)境變量
echo 'export PATH=/usr/local/php7.2/bin:$PATH' >/etc/profile.d/php.sh
source /etc/profile.d/php.sh
#查看php 版本 php -v

再安裝擴(kuò)展模塊(我只是安裝了我們需要的,根據(jù)自己需要安裝)
#redis 擴(kuò)展
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 擴(kuò)展
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 ../
########################
# 添加這些擴(kuò)展
sudo vi /usr/local/php7.2/etc/php.ini
extension=redis.so
extension=memcached.so
extension=mcrypt.so
extension=uuid.so
#查看擴(kuò)展 php -m
現(xiàn)在來安裝號(hào)稱 php 最強(qiáng)的一個(gè)擴(kuò)展模塊 Swoole
Swoole 是一個(gè) PHP 的 協(xié)程 高性能 網(wǎng)絡(luò)通信引擎,使用 C/C++ 語言編寫,提供了多種通信協(xié)議的網(wǎng)絡(luò)服務(wù)器和客戶端模塊。可以方便快速的實(shí)現(xiàn) TCP/UDP服務(wù)、高性能Web、WebSocket服務(wù)、物聯(lián)網(wǎng)、實(shí)時(shí)通訊、游戲、微服務(wù)等,使 PHP 不再局限于傳統(tǒng)的 Web 領(lǐng)域。
# 需要安裝依賴 openssl-devel 和 autoconf ,我前面已經(jīng)裝過了, 就不再安裝了
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
#添加擴(kuò)展到配置文件
vi /usr/local/php7.2/etc/php.ini
extension=swoole.so
# 可以查看擴(kuò)展模塊詳情 php --ri swoole
