我个人有一台阿里云的 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
注意,我们之前 使用jemalloc优化swoole内存分配性能,但是现在官方不推荐这么用了,可能会降低程序稳定性。 |