PHP编译安装

下载和解压

cd /usr/local/src/

wget https://www.php.net/distributions/php-7.3.22.tar.bz2

tar -xzvf php-7.3.22.tar.bz2

创建用户:下面编译会有指定用户,不指定的话最后启动服务会报错

useradd -s /sbin/nologin php-fpm

编译安装

cd php-7.3.22

./configure

--prefix=/usr/local/php-fpm

//指定安装路径

--with-config-file-path=/usr/local/php-fpm/etc

//指定配置文件路径

--enable-fpm

//开启fpm这个功能

--with-fpm-user=php-fpm

// 指定用户为php-fpm

--with-fpm-group=php-fpm

//指定组 为php-fpm

--with-mysql=/usr/local/mysql

//老版本 关联mysql的参数

--with-mysqli=/usr/local/mysql/bin/mysql_config

//新版本 关联mysql的参数

--with-pdo-mysql=/usr/local/mysql

//关联mysql的参数

--with-mysql-sock=/tmp/mysql.sock

//指定sockt

--with-libxml-dir

这一列和下面所有都是PHP的模块,为了实现PHP的功能

-with-gd

--with-jpeg-dir

--with-png-dir

--with-freetype-dir

--with-iconv-dir

--with-zlib-dir

--with-mcrypt

--enable-soap

--enable-gd-native-ttf

--enable-ftp

--enable-mbstring

--enable-exif

--with-pear

--with-curl

--with-openssl

错误1:

checking for cc... no

checking for gcc... no

解决:yum install -y gcc

错误2:

configure: error: libxml2 not found. Please check your libxml2 installation.

解决:yum list | grep libxmle ; yum install -y libxml2-devel.x86_64

错误3:

configure: error: Cannot find OpenSSL's

解决:yum list | grep -i openssl ; yum install -y openssl-devel.x86_64

错误4:

checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support

解决:yum list | grep -i curl ; yum install -y libcurl-devel.x86_64

错误5:

configure: error: jpeglib.h not found

解决:yum list | grep jpeg ; yum install -y libjpeg-turbo-devel.x86_64

错误6:

configure: error: png.h not found.

解决:yum list | grep png ;yum install -y libpng-devel.x86_64

错误7:

configure: error: freetype-config not found.

解决:yum list | grep freetype ;yum install -y freetype-devel.x86_64

错误8:

configure: error: Please reinstall the mysql distribution

解决:重新下载一个低版本的mysql/mariadb

wget

http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz

tar -xzvf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql5.6

更改编译参数:

--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql

改成

--with-mysql=/usr/local/mysql5.6 --with-mysqli=/usr/local/mysql5.6/bin/mysql_config --with-pdo-mysql=/usr/local/mysql5.6

改完后继续执行

cd /usr/local/src/php.7.3.22

./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql5.6 --with-mysqli=/usr/local/mysql5.6/bin/mysql_config --with-pdo-mysql=/usr/local/mysql5.6 --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl

输出结果可用echo $?验证,结果为0继续下面编译

make

make install

配置文件

cd /usr/local/php-fpm/etc

[root@jinkai etc]# ls

pear.conf php-fpm.conf.default php-fpm.d

php-fpm.conf.default 模板配置文件

[root@jinkai etc]# cp php-fpm.conf.default php-fpm.conf 服务本身的配置文件

生成php-fpm.conf 配置文件,不然php-fpm无法启动

cd /usr/local/src/php-7.3.22

cp php.ini-development /usr/local/php-fpm/etc/php.ini

生成php.ini配置文件,这个是php的配置文件

配置启动脚本

添加到启动服务里面,设置开机启动

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

chkconfig --list

设置执行权限

chmod 755 /etc/init.d/php-fpm

启动服务

service php-fpm start

错误:Starting php-fpm [09-Sep-2020 15:31:49] WARNING: Nothing matches the include pattern '/usr/local/php-fpm/etc/php-fpm.d/.conf' from /usr/local/php-fpm/etc/php-fpm.conf at line 143.

解决:查看错误提示的文档143行

vim /usr/local/php-fpm/etc/php-fpm.conf

143:include=/usr/local/php-fpm/etc/php-fpm.d/.conf

查看这个文件下是否存在*.conf文件

/usr/local/php-fpm/etc/php-fpm.d/

[root@jinkai php-7.3.22]# ls /usr/local/php-fpm/etc/php-fpm.d/

www.conf.default

[root@jinkai php-7.3.22]# cp www.conf.default www.conf

www.conf php-fpm 进程服务的扩展配置文件

重新启动用户

[root@jinkai php-fpm.d]# service php-fpm start

Starting php-fpm done

查看服务是否启动

ps aux| grep php-fpm

查看监听端口是否开启

netstat -lntp

php江湖源码,PHP源码包编译相关推荐

  1. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...

    1.  在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...

  2. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等

    1.  在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...

  3. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++ 标题:MySQL数据库实例部署 时间:2019年5月2日 内容:MySQL源码包进行编译,然后部署MySQL单实 ...

  4. Linux 如何安装 SRPM 包(源代码 rpm 软件包,以 .src.rpm 为后缀名)/rpm 格式的源码软件包/源码包

    文章目录 一.SRPM 介绍 二.SRPM 命名格式 三.SRPM 的安装 (一)直接使用命令 rpmbuild (二)利用 *.spec 文件编译 (三)使用命令 make 编译和安装 四.写在最后 ...

  5. 编译 php mysql 依赖包_MySQL 5.5.15源码包编译安装

    mysql果然是不愧是目前最火的数据库,自从mysql5.5.8之后,mysql的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质 mysql果然是不愧是目前最火的数据库,自从mysq ...

  6. Nginx实战基础篇一 源码包编译安装部署web服务器

    Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...

  7. 如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能

    如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能 Hello,大家好!我是--邪恶君子! 今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程 ...

  8. 绝对良心提供百度网盘的jdk1.8源码下载包含sun包的

    jdk目录下是有源码的,但是源码不包含sun包, 但是openjdk网站有提供的: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff ...

  9. 常用jdk类库源码分析以及各个包

    常用jdk类库源码分析以及各个包 1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序. 2.java ...

  10. 更换yum源,安装扩展源,yum下载rpm包,源码包安装软件

    2019独角兽企业重金招聘Python工程师标准>>> 更换国内yum源 我们的Linux中默认的yum源是国外的,有的时候网络不好,而我么需要下载的包过大的时候更换成国内的yum源 ...

最新文章

  1. mysql数据库主从同步过程详述(三)
  2. 深度剖析:CDN内容分发网络技术原理--转载
  3. 【DHCP在企业中的应用】
  4. 论文阅读:Learnable pooling with Context Gating for video classification
  5. 人脸检测的model类facemodel
  6. 女人必知 教你认清6种隐性坏男人
  7. (78)Vivado设置时钟组约束
  8. thinkphp-session与cookie
  9. Vmware虚拟机不能使用键盘的解决方法
  10. webAppbuilder微件使用教程3 地理处理微件
  11. 揭秘Spark应用性能调优
  12. [解题报告]12289 - One-Two-Three
  13. 如何使用 Apple Watch 拨打电话?
  14. Ubuntu二进制编辑器Hexdump
  15. C++字符串内数字统计
  16. 湖南计算机应用技术专科学校排名,湖南所有职业技术学院排名
  17. c++实现atoi()和itoa()函数(字符串和整数转化)
  18. 使用 kindeditor 编辑器无法上传图片
  19. couchbase_Couchbase评论:智能NoSQL数据库
  20. 为什么JS的语法很乱

热门文章

  1. 回力说从来没想要创新,那它电商年增长1000%的秘诀是啥?
  2. 汤晓丹的第四版计算机操作系统--第五章总结概述
  3. ISCE2.3+StaMPS4.1处理哨兵数据(三)——PS处理
  4. Process Explorer 分析cpu占比 使用
  5. Autodesk Autocad 3ds Max 2019 Crack 破解版
  6. html5 判断获取定位,HTML5利用Geolocation API获取地理位置定位功能
  7. 基于OFDM的水声通信系统设计
  8. tlc5620输出三角波流程图_基于TLC5620 DAC波形发生器的设计——锯齿波、三角波
  9. Java Swing高级组件——分割面板
  10. Kafka 发送消息