1.下载php安装包
官网下载地址:PHP: Downloads
下载源码包
wget https://www.php.net/distributions/php-7.4.28.tar.gz
解压并进入安装目录
tar -zxvf php-7.4.28.tar.gz
cd php-7.4.28
2.安装依赖包
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libzip-devel libicu-devel pcre-devel sqlite-devel autoconf automake libtool bzip2-devel gcc-c++ oniguruma oniguruma-devel libxslt-devel krb5-devel
安装 oniguruma(高版本可忽略安装)
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
解压安装
tar -zxvf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4
./autogen.sh
./configure --prefix=/usr --libdir=/lib64
make && make install
3.编译安装php
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/php.d --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv --with-zlib --with-bz2 --with-openssl --with-xmlrpc --with-xsl --with-zip --with-kerberos --with-libdir=lib64 --without-pear --with-gettext --with-curl --with-mhash --enable-gd --enable-fpm --enable-mysqlnd --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-mbregex --enable-ftp --enable-pcntl --enable-sockets --enable-soap --enable-session --with-jpeg --with-freetype --enable-bcmath --enable-opcache
如果报 libzip错误 移除libzip 重新安装(无错误忽略以下命令)
yum remove libzip libzip-devel -y
wget --no-check-certificate https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
重新编译php
cd ../php-7.4.28
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/php.d --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv --with-zlib --with-bz2 --with-openssl --with-xmlrpc --with-xsl --with-zip --with-kerberos --with-libdir=lib64 --without-pear --with-gettext --with-curl --with-mhash --enable-gd --enable-fpm --enable-mysqlnd --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-mbregex --enable-ftp --enable-pcntl --enable-sockets --enable-soap --enable-session --with-jpeg --with-freetype --enable-bcmath --enable-opcache
make && make install -j 2
4.添加系统用户
groupadd www
useradd -g www -s /sbin/nologin www
5.复制配置文件
cp php.ini-production /usr/local/php7/etc/php.ini
cd /usr/local/php7/etc/
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
启动php-fpm
/usr/local/php7/sbin/php-fpm
6.配置环境变量
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/php7/bin:/usr/local/mysql/bin
export PATH
刷新环境变量
source /etc/profile
7.修改php配置文件
vim /usr/local/php7/etc/php.ini
找到session.save_path=/tmp #号删除
找到expose_php = On;,修改On为Off影藏版本信息
配置php-fpm
vim /usr/local/php7/etc/php-fpm.d/www.conf
修改user=www,group=www
8.设置php开机自启动
开机自启动有两种方式
方式一:注册系统服务
在编译安装后,php-fpm是没有加入到系统服务的,所以需要创建脚本添加到系统服务里去。
创建并编辑php-fpm.service文件
vim /usr/lib/systemd/system/php-fpm.service
内容如下
[Unit]
Description=php-fpm
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
刷新systemctl
systemctl daemon-reload
加入开机启动
systemctl enable php-fpm
启动php-fpm
systemctl start php-fpm
查看状态
systemctl status php-fpm
方式二:在/etc/init.d/目录下创建php-fpm文件
进入安装目录,复制php-fpm启动文件
cd /root/php-7.4.28
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
php-fpm服务操作命令
/etc/init.d/php-fpm start #启动
/etc/init.d/php-fpm stop #停止
/etc/init.d/php-fpm restart #重启
/etc/init.d/php-fpm reload #重载配置
/etc/init.d/php-fpm status #查看状态
将php-fpm服务加入chkconfig管理列表
chkconfig --add /etc/init.d/php-fpm
设置开机自启动
chkconfig php-fpm on
如果版本没有安装GD库需手动安装
安装gd库
cd php-7.2.34/ext/gd
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd
make && make install
linux编译安装nginx:Linux系统编译安装nginx
linux安装mysql5.7:linux系统安装mysql5.7
linux编译安装redis:linux编译安装redis
php安装redis扩展:php安装redis扩展