广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP源码编译安装
  • 493
分享到

PHP源码编译安装

phpsqliteubuntu 2023-09-21 13:09:58 493人浏览 泡泡鱼
摘要

目录 编译环境编译过程运行配置运行环境1. 创建php.ini文件2. 创建 php-fpm.conf文件3. 创建 www.conf文件4. 配置连接socket为文件(可选)5. 配置ng

目录

编译环境

  1. 编译机器

ubuntu 18.04

  1. 源码

https://www.PHP.net/distributions/php-8.1.5.tar.gz

源码包从何获取?https://www.php.net/releases/

编译过程

  1. 配置编译环境
./configure --prefix=/usr/local/php --enable-fpm --with-pdo-Mysql --without-pdo-sqlite --without-sqlite3

不知道环境如何配置怎么办?
使用./configure -h查看使用帮助,再根据自己的需求,启用或禁用某些功能或模块。

强烈建议配置--prefix到一个指定的目录,这样make install安装时就会把相关的产物只安装到这一个目录下,在卸载软件时,可以直接删除此目录即可(没有一个方便快捷的指令可以直接卸载软件)。

  1. 开始编译
# make.......Generating phar.phpGenerating phar.pharPEAR package PHP_ArcHive not installed: generated phar will require PHP's phar extension be enabled.clicommand.incpharcommand.incphar.incinvertedregexiterator.incdirectorytreeiterator.incdirectorygraphiterator.incBuild complete.Don't forget to run 'make test'.

编译相对是比较耗时的,只需要耐心等待即可。

  1. 安装
# make installInstalling shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20210902/Installing PHP CLI binary:        /usr/local/php/bin/Installing PHP CLI man page:      /usr/local/php/php/man/man1/Installing PHP FPM binary:        /usr/local/php/sbin/Installing PHP FPM defconfig:     /usr/local/php/etc/Installing PHP FPM man page:      /usr/local/php/php/man/man8/Installing PHP FPM status page:   /usr/local/php/php/php/fpm/Installing phpdbg binary:         /usr/local/php/bin/Installing phpdbg man page:       /usr/local/php/php/man/man1/Installing PHP CGI binary:        /usr/local/php/bin/Installing PHP CGI man page:      /usr/local/php/php/man/man1/Installing build environment:     /usr/local/php/lib/php/build/Installing header files:          /usr/local/php/include/php/Installing helper programs:       /usr/local/php/bin/  program: phpize  program: php-configInstalling man pages:             /usr/local/php/php/man/man1/  page: phpize.1  page: php-config.1/root/php/php-8.1.5/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin/phar.pharln -s -f phar.phar /usr/local/php/bin/pharInstalling PDO headers:           /usr/local/php/include/php/ext/pdo/

运行

配置运行环境

运行模式: Nginx+php
配置文件直接使用默认的默认文件即可。这些配置文件在安装目录下都有相应的示例,如果没有特别的需求,直接使用默认的配置文件即可。

1. 创建php.ini文件

直接从项目源码复制php.ini.production配置文件到/usr/local/php/etc目录。
make install并没有把php.ini文件安装到配置文件中,所以需要手动copy。php.ini

2. 创建 php-fpm.conf文件

/usr/local/php/etC# cp php-fpm.conf.default php-fpm.conf

3. 创建 www.conf文件

/usr/local/php/etc/php-fpm.d# cp www.conf.default www.conf

4. 配置连接Socket为文件(可选)

默认是在开启了本地的9000端口,会占用一定的系统资源,因为只给本机使用,不如socket文件效率高,且nginx又支持socket文件,所以直接配置成socket文件吧。使用分号把listen = 127.0.0.1:9000 这一行注释掉,再添加一行 listen = /usr/local/php/var/run/php-fpm.sock即可。

; The address on which to accept FastCGI requests.; Valid syntaxes are:;   'ip.add.re.ss:port'    - to listen on a tcp socket to a specific IPv4 address on;a specific port;;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on;a specific port;;   'port'                 - to listen on a TCP socket to all addresses;(IPv6 and IPv4-mapped) on a specific port;;   '/path/to/unix/socket' - to listen on a unix socket.; Note: This value is mandatory.;listen = 127.0.0.1:9000listen = /usr/local/php/var/run/php-fpm.sock

5. 配置nginx

Http{    server{        location ~ \.php$ {            fastcgi_pass   unix:/usr/local/php/var/run/php-fpm.sock;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }     }}

启动php

cd /usr/local/phpsbin/php-fpm -c etc -y etc/php-fpm.conf

关于启动参数的作用,可以通过php-fpm -v 来查看。

  • -c 指定php.ini配置文件所在目录
  • -y 指定FastCGI进程管理的配置文件

php与php-fpm的关系

启动应用启动的php-fpm程序,而不是php,这是为什么呢?

php

php程序是在命令行中执行php脚本的

php-fpm

php-fpm是与来与WEB服务器通信,并执行php脚本的,它是一个守护进程,一直驻留在系统中。

小技巧

  1. 查看php的配置参数
php -i
  1. 检查php的语法是否正确
php -l xxx.php

遇到的问题

  1. pkg-config库过旧问题

解决方法:apt install pkg-config

configure: error: in `/root/php/php-8.1.5':configure: error: The pkg-config script could not be found or is too old.  Make sure itis in your PATH or set the PKG_CONFIG environment variable to the fullpath to pkg-config.Alternatively, you may set the environment variables LIBXML_CFLAGSand LIBXML_LIBS to avoid the need to call pkg-config.See the pkg-config man page for more details.To get pkg-config, see .See `config.log' for more details
  1. libxml-2.0库不存在

解决方法:apt install libxml2-dev

checking for libxml-2.0 >= 2.9.0... noconfigure: error: Package requirements (libxml-2.0 >= 2.9.0) were not met:No package 'libxml-2.0' foundConsider adjusting the PKG_CONFIG_PATH environment variable if youinstalled software in a non-standard prefix.
  1. sqlite3库不存在

解决方法:添加 --without-sqlite3
原因:并不使用sqlite3库,所以编译的时候可以直接去除此模块,这样也系统也能少安装一个无用的库。

checking for sqlite3 >= 3.7.7... noconfigure: error: Package requirements (sqlite3 >= 3.7.7) were not met:No package 'sqlite3' foundConsider adjusting the PKG_CONFIG_PATH environment variable if youinstalled software in a non-standard prefix.

来源地址:https://blog.csdn.net/mushanshui/article/details/124767064

--结束END--

本文标题: PHP源码编译安装

本文链接: https://www.lsjlt.com/news/414042.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP源码编译安装
    目录 编译环境编译过程运行配置运行环境1. 创建php.ini文件2. 创建 php-fpm.conf文件3. 创建 www.conf文件4. 配置连接socket为文件(可选)5. 配置ng...
    99+
    2023-09-21
    php sqlite ubuntu
  • 源码编译安装mysql5.7.18
    #yum install -y gcc-c++ cmake vim ncurses-devel wget#useradd mysql -s /home/nologin#mkdir /soft/my...
    99+
    2022-10-18
  • MySQL源码编译安装
    1、安装cmake-2.8.10.2.tar.gz以root用户进入shell#tar -zxvf  cmake-2.8.10.2.tar.gz#cd cmake-2.8.10.2#./confi...
    99+
    2022-10-18
  • 源码编译安装MySQL8.0.20
    2 源码编译安装的相关知识 2.1 make与configure make是一个编译的命令,会在当前的目录下寻找Makefile这个文件,Makefile文件记录了源代码如何编译的详细信息。而configure是由软件开发商编写的一个检测程...
    99+
    2017-08-02
    源码编译安装MySQL8.0.20
  • MySQL5.7.26 源码编译安装
    1.安装依赖组件yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel yum -y install zlib zlib-devel...
    99+
    2022-10-18
  • 如何从源码编译安装 PHP-FPM
    随着 PHP 的普及和使用,PHP-FPM 也被越来越多的使用者与开发者所熟知和使用。由于 PHP-FPM 带有更先进的进程管理和重载工具,它被广泛地用于高访问量和 HTTP 高并发场景下的 PHP 程序。本篇文章将讲解如何从源码编译安装 ...
    99+
    2023-05-14
  • 源码编译安装mysql-5.7.14
    1.下载并上传 mysql-5.7.14.tar.gz view plain copytar -zxf msql-5.7.14.tar.gz  2...
    99+
    2022-10-18
  • 源码编译安装LAMP环境
    1、请描述一次完整的http请求处理过程;2、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。3、源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装、配置、测试过程。4、建...
    99+
    2022-10-18
  • 源码编译怎么安装PostgresSQL
    这篇文章主要讲解了“源码编译怎么安装PostgresSQL”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“源码编译怎么安装PostgresSQL”吧!一、环境...
    99+
    2022-10-18
  • 源码编译怎么安装pg11.5
    这篇文章主要介绍“源码编译怎么安装pg11.5”,在日常操作中,相信很多人在源码编译怎么安装pg11.5问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”源码编译怎么安装pg11...
    99+
    2022-10-18
  • 源码如何编译安装MySQL5.6.12
    这篇文章主要为大家展示了“源码如何编译安装MySQL5.6.12”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“源码如何编译安装MySQL5.6.12”这篇文章吧...
    99+
    2022-10-18
  • LAMP纯源码编译安装日志
    一.LAMP构架的安装与经验技巧(源码安装好处。是便于管理,可以选定参数,可以使用新版本)相关软件列表:# ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2" ...
    99+
    2022-10-18
  • MySQL5.7.16源码编译安装的过程
    这篇文章主要讲解了“MySQL5.7.16源码编译安装的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL5.7.16源码编译安装的过程”吧!安装...
    99+
    2022-10-18
  • 如何用源码编译安装MySQL8.0.20
    这篇文章主要讲解了如何用源码编译安装MySQL8.0.20,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。1 概述本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,...
    99+
    2022-10-18
  • MySQL5.6源码编译安装的流程
    本篇内容主要讲解“MySQL5.6源码编译安装的流程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL5.6源码编译安装的流程”吧! ...
    99+
    2022-10-18
  • VS2022编译安装Qt6.5源码教程
    目录一、准备环境二、下载Qt 6.5源码三、解压四、编译、安装一、准备环境 包括安装VS2022,Windows SDK,Python3,这里就不再一一介绍了,需要说明的一点是还需要...
    99+
    2023-05-20
    VS2022编译安装Qt6.5源码 VS2022安装Qt6.5源码
  • CentOS 6.10源码编译及使用ansible编译安装httpd2.4.39
    一、编译安装 编译环境准备 主机 系统 A centos6.10 编译所需的httpd、apr、ap...
    99+
    2022-06-04
    ansible安装httpd ansible源码
  • PHP源码编译安装管理常用的脚本
    本篇内容介绍了“PHP源码编译安装管理常用的脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin...
    99+
    2022-10-19
  • php for Linux源码编译安装与配置方法
    这篇文章主要讲解了“php for Linux源码编译安装与配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php for Linux源码编译安装与配...
    99+
    2022-10-19
  • 源码编译安装MySQL 5.7.9的过程
    这篇文章主要介绍“源码编译安装MySQL 5.7.9的过程”,在日常操作中,相信很多人在源码编译安装MySQL 5.7.9的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”源码编译安装MySQL 5.7.9...
    99+
    2023-06-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作