centso8.2编译安装php7.2.20

查看服务器版本号

cat /etc/redhat-release
#CentOS Linux release 8.2.2004 (Core)

安装依赖

#更新源
yum update -y
#安装依赖
yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel \
freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

初始化


#初始化用户
adduser www
groupadd www
usermod -G www www

#初始化目录 
mkdir -p /data/app/php
mkdir -p /data/download
mkdir -p /data/logs
chown www.www /data/logs 
mkdir /data/logs/php
chown www.www /data/logs/php

touch /data/logs/php/php-fpm.err
chown www.www /data/logs/php/php-fpm.err

touch /data/logs/php/phpslow.log
chown www.www /data/logs/php/phpslow.log
touch /data/logs/php/phpslow2.log
chown www.www /data/logs/php/phpslow2.log
touch /data/logs/php/phpslow3.log
chown www.www /data/logs/php/phpslow3.log

mkdir -p /data/phptmp
chown www.www /data/phptmp

touch /tmp/php-cgi.sock
chown www.www /tmp/php-cgi.sock

touch /tmp/php-cgi2.sock
chown www.www /tmp/php-cgi2.sock

touch /tmp/php-cgi3.sock
chown www.www /tmp/php-cgi3.sock

安装php

#下载包
#php版本下载地址 https://www.php.net/releases/
cd /data/download/
wget https://www.php.net/distributions/php-7.2.20.tar.gz
tar -zxvf php-7.2.20.tar.gz
cd php-7.2.20

#编译配置 直接看见 Thank you for using PHP。如果报错,基本就是相关依赖未安装完全
./configure --prefix=/data/app/php --enable-fpm --with-fpm-user=www --with-fpm-group=www \
--disable-ipv6 --with-openssl --with-pcre-regex --with-zlib --enable-bcmath --with-curl --enable-exif \
--with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext \
--with-mhash --enable-mbstring --with-mcrypt --with-mysqli --enable-opcache \
--enable-pcntl --with-pdo-mysql --enable-sockets --with-iconv-dir --with-libxml-dir --enable-zip \
--enable-mysqlnd --with-mysql

#编译安装
make && make install

#添加 PHP 命令到环境变量
vim /etc/profile
#在文件末尾加上如下两行代码
PATH=$PATH:/data/app/php/bin
export PATH

# 立即生效
source /etc/profile

#查看PHP版本
php -v
#PHP 7.2.20 (cli) (built: Oct 31 2020 15:41:51) ( NTS )
#Copyright (c) 1997-2018 The PHP Group
#Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

配置php-fpm


#配置php-fpm
cp php.ini-production /etc/php.ini
#建立主配置文件:
cp /data/app/php/etc/php-fpm.conf.default /data/app/php/etc/php-fpm.conf
#次配置文件(被上方的php-fpm.conf中include):在其中可以配置php-fpm启动的端口、指定它的用户组及用户等
cp /data/app/php/etc/php-fpm.d/www.conf.default /data/app/php/etc/php-fpm.d/www.conf
#拷贝php-fpm进程管理文件:
cp /data/download/php-7.2.20/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#赋予增加php-fpm的可执行权限
chmod u+x /etc/init.d/php-fpm
chown -R www.www /data/app/php/var

cat > /data/app/php/etc/php-fpm.conf << EOF
[global]
pid = /data/app/php/var/run/php-fpm.pid
error_log = /data/logs/php/php-fpm.err
log_level = notice
 
[www]
listen = /tmp/php-cgi.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow.log
 
[www2]
listen = /tmp/php-cgi2.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow2.log
 
[www3]
listen = /tmp/php-cgi3.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow3.log
EOF

添加php-fpm至服务列表并设置开机自启。


# 添加php-fpm至服务列表并设置开机自启。

chkconfig --add php-fpm 
chkconfig --list php-fpm 
chkconfig php-fpm on
# 启动php-fpm
/etc/init.d/php-fpm start

#为了方便将php-fpm加到管理员命令目录:
ln -s /etc/init.d/php-fpm /usr/sbin/php-fpm
php-fpm start|restart|stop

自行选择是否使用下面php.ini 配置


cat > /data/app/php/lib/php.ini << EOF
[userconfig]
environment = ONLINE
gd.jpeg_ignore_warning = 1
 
[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
zend.enable_gc = On
expose_php = Off
 
max_execution_time = 30
max_input_vars = 1000
max_input_time = 65
 
max_input_nesting_level = 32
memory_limit = 128M
 
error_reporting = E_ALL & ~E_NOTICE
 
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /tmp/phperror.log
 
variables_order = "GPCS"
request_order = "GP"
post_max_size = 50M
 
register_argc_argv = Off
auto_globals_jit = On
 
default_mimetype = "text/html"
default_charset = "UTF-8"
 
enable_dl = Off
 
file_uploads = On
upload_max_filesize = 50M
max_file_uploads = 20
upload_tmp_dir = /data/phptmp
 
allow_url_fopen = On
allow_url_include = Off
 
default_socket_timeout = 60
 
extension_dir = "/data/app/php/lib/php/extensions/no-debug-non-zts-20121212/"
zend_extension=opcache.so
extension=memcache.so
extension=redis.so
 
date.timezone = Asia/Shanghai
 
[Session]
session.save_handler = files
session.save_path = "/data/session"
;session.save_handler = memcache
;session.save_path = tcp://127.0.0.1:10007
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
 
[opcache]
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=4
opcache.max_accelerated_files=2000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.revalidate_path=1
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=0
opcache.enable_file_override=0
 
EOF

安装redis扩展

cd /data/download
wget https://pecl.php.net/get/redis-3.1.3.tgz
tar zxvf redis-3.1.3.tgz
cd redis-3.1.3
/data/app/php/bin/phpize
./configure --with-php-config=/data/app/php/bin/php-config \
&& make && make install

安装memcache扩展

cd /data/download
wget https://pecl.php.net/get/memcache-4.0.5.2.tgz
tar zxvf memcache-4.0.5.2.tgz
cd /data/download/memcache-4.0.5.2
/data/app/php/bin/phpize
./configure --with-php-config=/data/app/php/bin/php-config \
&& make && make install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值