Centos7.9编译安装PHP7.4

1.下载PHP压缩包

wget https://mirrors.sohu.com/php/php-7.4.9.tar.gz

官网下载地址:https://www.php.net/downloads

2.下载完成后,需先安装依赖

yum -y install sqlite-devel wget gcc gcc-c++ pcre pcre-devel openssl openssl-devel libxml2 libxml2-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 cmake

3.解压安装

tar zxvf php-7.4.9.tar.gz

cd php-7.4.9

静态编译,安装目录/usr/local/php

./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache

开始编译安装

make && make install

如出现No package 'oniguruma' found错误,输入如下相关命令:

yum -y install autoconf automake libtool
wget https://github.com/kkos/oniguruma/archive/v6.9.5_rev1.tar.gz
tar zxvf v6.9.5_rev1.tar.gz
cd oniguruma-6.9.5_rev1/
./autogen.sh
./configure --prefix=/usr --libdir=/lib64
make && make install

解决完成后,再重新执行编译命令。

4.配置文件修改

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

cp php-fpm.d/www.conf.default php-fpm.d/www.conf

php命令设置软链接

ln -s /usr/local/php/bin/* /usr/local/bin

ln -s /usr/local/php/sbin/* /usr/local/sbin

查看php的版本

php -v

查看www用户

groupadd www

添加www用户

useradd -g www www

启动php-fpm

php-fpm

查看php-fpm状态

netstat -antp | grep php-fpm

运行状态:

5.扩展模块安装

动态编译,安装gd扩展模块,php-7.4.9为解压的文件夹

cd php-7.4.9/ext/gd

编译共享,生成编译配置,运行phpize

/usr/local/php/bin/phpize

编译扩展路径,安装至/usr/local/php/bin/php-config

./configure --with-php-config=/usr/local/php/bin/php-config

编译安装

make && make install

如下截图红色圈起来的就是mysqli.so文件安装所在路径

查看php.ini放在哪个目录

php --ini

找不到php.ini情况,如下:

需要从解压的php-7.4.9文件夹中将php.ini-production或php.ini-development拷贝至/etc

相关命令如下:

cp php.ini-production /etc/php.ini

杀死当前php进程,重启

killall php-fpm

php-fpm

重启完成后,再次输入php --ini,就可以看到如下效果:

修改php.ini文件中的参数信息

vim /etc/php.ini

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/"

extension=gd.so

相关推荐
Full Stack Developme5 分钟前
Linux Shell 教程概览
linux·前端·chrome
IT WorryFree7 分钟前
基于Fortinet MIB实现设备资产管理完整方案
运维·服务器·网络
鼎讯信通8 分钟前
宽频高敏・全域监测|鼎讯 DXMP 系列,打造风电射频侦测新范式
运维·能源·信息与通信
网络系统管理13 分钟前
第八届江苏技能状元大赛选拔赛信息通信网络运行管理项目模块D网络服务与系统运维-Linux样题
linux·运维
Sunny_202283719 分钟前
CAD在执行移动命令的时候按正交F8,老是卡住
运维·pccad插件、cad·pccad个人免费版·免费cad插件
凡人叶枫38 分钟前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发
零陵上将军_xdr41 分钟前
Shell流程控制:if/case/for/while让脚本活起来
linux·运维·服务器
坤昱1 小时前
cfs调度类深入解刨——pelt细节篇
linux·linux内核·cfs调度·eevdf·cfs调度类深入解刨·pelt·pelt细节篇
故渊at1 小时前
第十二板块:Android 系统启动与初始化 | 第二十九篇:Init 进程、RC 脚本与属性服务(Property Service)
android·linux·内存映射·权限控制·init进程·rc脚本·属性服务
志栋智能1 小时前
从云端到边缘:无处不在的超自动化巡检需求
运维·自动化