下载安装包
安装需要的依赖包,可自行安装如:
yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel –y
tar -zxvf php-7.3.6.tar.gz
cd php-7.3.6
./configure --prefix=/usr/local/php7.3 --with-zlib --with-png-dir --with-jpeg-dir --with-libxml-dir --with-freetype-dir --with-gd --with-curl --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-sockets --enable-bcmath --enable-mbstring --enable-dom --enable-xml --enable-fpm --enable-zip --with-pdo-sqlite --with-libdir=lib64
编译报错
configure: error: Please reinstall the libzip distribution
解决方法:
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
configure
make && make install
重新编译报错:
configure: error: off_t undefined; check your library configuration
解决方法:
添加搜索路径到配置文件
echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64'>>/etc/ld.so.conf
更新配置
ldconfig -v
重新编译,编译成功 ,执行安装
make && make install
安装报错:
/usr/local/include/zip.h:59:21:致命错误:zipconf.h:没有那个文件或目录
解决方法:手动复制过去
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
重新执行安装命令,安装成功
/usr/local/php7.3 是我的安装路径
cp php.ini-production /etc/php.ini #复制php.ini
cp /usr/local/php7.3/etc/php-fpm.conf.default /usr/local/php7.3/etc/php-fpm.conf #复制php-fpm配置文件
cp /usr/local/php7.3/etc/php-fpm.d/www.conf.default /usr/local/php7.3/etc/php-fpm.d/www.conf
cp /usr/local/php7.3/sbin/php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
启动php
/usr/local/php7.3/sbin/php-fpm
配置环境变量
vim /etc/profile
在最后面加上:
PATH=$PATH:/usr/local/php/bin
export PATH
立即生效:
source /etc/profile
运行php -v就可看到安装好的php版本了
设置开机启动
在源码包的目录下,我的目录
/www/package/php-7.3.6/sapi/fpm
复制init.d.php-fpm到/etc/init.d/目录下并命名为php-fpmcp init.d.php-fpm /etc/init.d/php-fpm
使用service命令来 启动/停止 fpm:service php-fpm start
service php-fpm stop
如果失败,请检测php-fpm文件执行权限是否足够
最后, 来设置开机启动chkconfig php-fpm on
ok这样子就完成啦