查看当前linux版本
lsb_release -a
创建安装软件的目录,方便统一管理,在根目录下创建路径/server
用来存放所有软件。
mkdir /server
选择下载php的版本,这里以7.3.13为例。下载地址:php版本
cd /server #切换到软件安装目录
wget https://www.php.net/distributions/php-7.3.13.tar.gz #下载到当前目录
tar -zxvf php-7.3.13.tar.gz #解压到当前位置
rm -rf nginx-1.18.0.tar.gz #删除压缩包
执行configure
,生成配置
cd php-7.3.13/ #进入php的目录
./configure \
--prefix=/server/php \
--with-config-file-path=/server/php/etc \
--with-mhash \
--with-openssl \
--with-mysqli \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-pcntl \
--enable-calendar \
--enable-exif \
--enable-sockets \
--with-xmlrpc \
--with-libxml-dir \
--enable-soap \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-bz2 \
--enable-opcache \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fast-install
编译一般都会缺少各种依赖而报错,解决依赖
configure: error: libxml2 not found. Please check your libxml2 installation.
解决办法: yum install -y libxml2-devel
configure: error: Please reinstall the BZip2 distribution
解决办法: yum install -y bzip2-devel
configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
解决办法: yum install -y curl-devel
configure: error: jpeglib.h not found.
解决办法: yum install -y libjpeg-devel
configure: error: png.h not found.
解决办法: yum install -y libpng-devel
configure: error: freetype-config not found.
解决办法: yum install -y freetype-devel
configure: error: Please reinstall the libzip distribution
解决办法:
wget https://libzip.org/download/libzip-1.2.0.tar.gz #下载libzip
tar -zxvf libzip-1.2.0.tar.gz #解压到当前目录
rm -rf libzip-1.2.0.tar.gz #删除压缩包
cd libzip-1.2.0/ #进去libzip目录
./configure --bindir=/usr/sbin/ \
--sbindir=/usr/sbin/ \
--libexecdir=/usr/libexec \
--sysconfdir=/etc/ \
--localstatedir=/var \
--libdir=/usr/lib64/ \
--includedir=/usr/include/ \
--datarootdir=/usr/share \
--infodir=/usr/share/info \
--localedir=/usr/share/locale \
--mandir=/usr/share/man/ \
--docdir=/usr/share/doc/libzip-1.2.0 #生成配置
make && make install #编译安装
出现如上显示,则代表配置成功
编译源码
make #在当前路径下执行make命令进行编译
出现如上显示,则代表编译成功
编译安装
make install #在当前路径下执行编译安装
出现如上显示,则代表编译成功
配置PHP
复制php.ini:
cp -a php.ini-production /server/php/etc/php.ini #复制php.ini到etc目录下
复制php-fpm.conf
cd /server/php/etc/ #跳转到etc目录下
cp -a php-fpm.conf.default ./php-fpm.conf #复制php-fpm配置文件
复制www.conf
cd /server/php/etc/php-fpm.d #跳转到php-fpm.d目录下
cp -a www.conf.default ./www.conf #复制www.conf
配置php为环境变量
export PATH=$PATH:/server/php/bin
测试
php-v
安装完成