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. 是时候了解一下Serverless了
  2. AOP统一处理请求日志
  3. 百度小程序源码php_dedecms织梦小程序插件万能api接口插件(支持百度微信小程序)...
  4. python测试开发django-8.windows系统安装mysql8教程
  5. 如何在shell单元建立washer_如何成为一个优秀的工程师
  6. 前端wxml取后台js变量值_这些鲜为人知的前端冷知识,你都GET了吗?
  7. 天猫整站SSM-分页-总结(做个人学习笔记整理用)
  8. 微课|中学生可以这样学Python(2.3.3节):map()函数
  9. 图像语义分割(2)-DeepLabV1: 使用深度卷积网络和全连接条件随机场进行图像语义分割
  10. 将k8容器中文件下载到本地
  11. 微信开放平台Android常见问题
  12. css背景颜色如何铺满屏幕
  13. FTP服务器的搭建,可两个电脑通过局域网进行传输
  14. 在Ubuntu5.1中安装NVIDIA TNT2 M64老式显卡驱动程序..
  15. spring boot跳过maven test
  16. clickhouse配置项config.xml详解——服务器配置参数
  17. 再论凭中学数学常识发现中学数学一系列重大错误——数列最起码常识让5千年都无人能识的自然数一下子暴露出来
  18. 二极管1N4148w
  19. navigationController的一些用法
  20. 惠普HP Prime可编程计算器之工程测量计算

热门文章

  1. Unicode编码规范(摘抄)
  2. html控制图的宽,【公差的验收控制图】 过程稳定与控制图傻傻分不清
  3. 计算机窗口移动不了怎么办,电脑鼠标拖不动文件怎么办 电脑鼠标拖动不灵敏如何解决...
  4. VUE经典面试题2022年,面试常用题
  5. 电子产品历史价格怎么查?
  6. Echarts 配置主副标题【转载】
  7. 深度学习中常用的骨干网络介绍
  8. weboffice功能的实现:在线编辑,保护文档部分编辑,显示,下载
  9. 几种常见web 容器比较 (tomcat、 jboss 、resin、 weblogic、 websphere、 glassfish)
  10. Android App 性能测试工具GT