PHP源码安装配置全攻略
时间:2026-02-07 21:41:49 147浏览 收藏
IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《PHP源码安装教程与配置指南》,聊聊,我们一起来看看吧!
源码安装PHP需先配置依赖,Ubuntu用apt、CentOS用yum安装开发工具及库,下载php-8.3.12.tar.gz并解压,配置--prefix、启用fpm、opcache等模块后编译安装,复制php.ini和php-fpm.conf,设置socket监听并启动服务,完成环境部署。

PHP 源码安装不是“一键式”操作,但也不复杂,关键是理清依赖、配置参数和编译流程。下面以主流 Linux 系统(如 Ubuntu/Debian 或 CentOS/RHEL)为例,分步说明如何从官方源码编译安装 PHP,并完成基础运行环境配置。
准备编译环境与依赖库
PHP 编译前需确保系统已安装基础开发工具和常用扩展依赖。缺少这些会导致 configure 失败或后续扩展无法启用。
- Ubuntu/Debian:sudo apt update && sudo apt install -y build-essential autoconf libtool pkg-config re2c bison libxml2-dev libsqlite3-dev libonig-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libzip-dev libssl-dev
- CentOS/RHEL:sudo yum groupinstall "Development Tools" && sudo yum install -y autoconf libtool pkgconfig re2c bison libxml2-devel sqlite-devel oniguruma-devel curl-devel libjpeg-devel libpng-devel freetype-devel libzip-devel openssl-devel
- 注意:libonig-dev(Ubuntu)或 oniguruma-devel(CentOS)是 PCRE2 替代方案,PHP 8+ 推荐使用;libzip-dev 需 ≥1.8.0,旧系统可能需手动升级
下载并解压 PHP 源码
从 php.net/downloads 获取稳定版源码包(如 php-8.3.12.tar.gz),避免用 GitHub 镜像源(可能含未发布代码)。
- 执行:wget https://www.php.net/distributions/php-8.3.12.tar.gz && tar -xzf php-8.3.12.tar.gz && cd php-8.3.12
- 建议创建独立安装目录,例如 /usr/local/php83,避免与系统包冲突
配置、编译与安装
运行 configure 脚本指定安装路径、启用模块和禁用不需要的组件。精简配置更稳定、启动更快。
- 典型命令(带常用扩展):
./configure --prefix=/usr/local/php83 \
--with-config-file-path=/usr/local/php83/etc \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-opcache \
--enable-mbstring \
--with-curl \
--with-openssl \
--with-zip \
--with-pdo-sqlite \
--with-gd \
--with-jpeg \
--with-png \
--with-freetype - 确认无报错后执行:make -j$(nproc) && sudo make install
- 生成配置文件:sudo cp php.ini-production /usr/local/php83/etc/php.ini
配置 PHP-FPM 并启动服务
PHP-FPM 是生产环境推荐的 SAPI 方式,需单独配置进程管理。
- 复制配置模板:sudo cp /usr/local/php83/etc/php-fpm.conf.default /usr/local/php83/etc/php-fpm.conf
- 启用子进程池(编辑 php-fpm.conf):include=/usr/local/php83/etc/php-fpm.d/*.conf,再创建 /usr/local/php83/etc/php-fpm.d/www.conf(可复制 default 文件修改)
- 设置监听地址(推荐 Unix socket 更安全高效):listen = /run/php/php83-fpm.sock,并确保权限匹配 web 服务器用户
- 启动服务:/usr/local/php83/sbin/php-fpm;检查进程:ps aux | grep php-fpm
基本上就这些。源码安装的优势在于可控性强、可定制扩展、便于调试,但需手动维护更新。日常开发建议搭配 phpenv 或 asdf 管理多版本;生产环境上线前务必测试 opcache、upload 设置、时区和错误报告级别。不复杂但容易忽略细节,按步骤来基本一次成功。
今天关于《PHP源码安装配置全攻略》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
436 收藏
-
381 收藏
-
216 收藏
-
401 收藏
-
277 收藏
-
406 收藏
-
119 收藏
-
375 收藏
-
316 收藏
-
468 收藏
-
444 收藏
-
320 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习