PHP7.4编译安装

一、PHP部署

1.1 安装依赖

复制代码
[root@localhost ~]# yum install -y epel-release

[root@localhost ~]# yum -y install gcc-c++ 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 gd sqlite sqlite-devel net-snmp net-snmp-devel oniguruma oniguruma-devel

libzip

复制代码
[root@localhost ~]# wget https://libzip.org/download/libzip-1.2.0.tar.gz --no-check-certificate
[root@localhost ~]# tar -zxvf libzip-1.2.0.tar.gz
[root@localhost ~]# cd libzip-1.2.0
[root@localhost libzip-1.2.0]# ./configure
[root@localhost libzip-1.2.0]# make -j4 && make -j4 install
[root@localhost libzip-1.2.0]# export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

1.2 下载官方包

复制代码
[root@zabbixweb01 ~]# wget  https://www.php.net/distributions/php-7.4.24.tar.gz

1.3 编译安装

复制代码
[root@localhost ~]# tar -xzvf  php-7.4.24.tar.gz
[root@localhost ~]# cd php-7.4.24
[root@localhost php-7.4.24]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --enable-opcache --enable-gd --with-iconv  --with-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg --with-freetype --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --enable-fast-install --disable-fileinfo --enable-bcmath --with-openssl
[root@localhost php-7.4.24]# make -j4 && make -j4 install

1.4 创建配置文件

复制代码
[root@localhost php-7.4.24]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@localhost php-7.4.24]# cp php.ini-development /usr/local/php/etc/php.ini
[root@localhost php-7.4.24]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost php-7.4.24]# cp sapi/fpm/php-fpm /usr/local/bin

1.5 修改配置文件

root@localhost php-7.4.24\]# vim /usr/local/php/etc/php.ini

复制代码
## 修改
date.timezone = Asia/Shanghai
post_max_size = 80M
max_execution_time = 300
max_input_time = 600

root@localhost php-7.4.24\]# vim /usr/local/php/etc/php-fpm.d/www.conf

复制代码
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx
group = nginx

1.6 复制启动脚本

复制代码
[root@localhost php-7.4.24]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@localhost php-7.4.24]# chmod 744 /etc/rc.d/init.d/php-fpm

1.7 设置systemd启动文件

root@localhost php-7.4.24\]# vim /usr/lib/systemd/system/php-fpm.service

复制代码
[Unit]
Description=php-fpm
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
TimeoutStopSec=5
KillMode=process
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

1.8 启动服务

复制代码
[root@localhost php-7.4.24]# systemctl enable --now php-fpm.service
相关推荐
JaguarJack20 分钟前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo23 分钟前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack16 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay2 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954482 天前
CTF 伪协议
php
BingoGo4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端