如何在Linux上安装和配置PHP

来源:Golang编程网作者:厦门程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何在Linux上安装和配置PHP》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上安装和配置PHP》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中安装和配置PHP是搭建Web开发环境的核心步骤,无论是部署个人博客还是企业级应用,都需要先完成PHP环境的正确配置。不同Linux发行版的包管理工具存在差异,安装方式也有所不同,同时还可以根据需求选择源码编译安装来自定义功能。

如何在Linux上安装和配置PHP

使用包管理器安装PHP

大部分Linux发行版都提供了官方的PHP包,通过包管理器安装是最快捷的方式,适合大多数常规使用场景。

Ubuntu/Debian系统安装

Ubuntu和Debian系统使用apt包管理器,首先更新软件源,然后安装PHP核心包和常用扩展:

# 更新软件源
sudo apt update
# 安装PHP核心及常用扩展
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

CentOS/RHEL系统安装

CentOS和RHEL系统使用yum或者dnf包管理器,需要先安装EPEL源和Remi源来获取较新版本的PHP:

# 安装EPEL源
sudo dnf install epel-release -y
# 安装Remi源
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
# 启用对应PHP版本的源,这里以PHP8.2为例
sudo dnf module enable php:remi-8.2 -y
# 安装PHP核心及常用扩展
sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y

源码编译安装PHP

如果需要自定义PHP的功能模块,或者需要安装特定版本的PHP,可以选择源码编译安装的方式,步骤如下:

安装编译依赖

编译PHP前需要先安装所需的依赖库,不同发行版的依赖安装命令如下:

  • Ubuntu/Debian:sudo apt install build-essential libxml2-dev libsqlite3-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libonig-dev libzip-dev -y
  • CentOS/RHEL:sudo dnf install gcc make libxml2-devel sqlite-devel curl-devel libpng-devel libjpeg-devel oniguruma-devel libzip-devel -y

下载并编译PHP源码

从PHP官方站点下载对应版本的源码包,解压后执行配置、编译和安装命令:

# 下载PHP8.2.10源码包
wget https://www.php.net/distributions/php-8.2.10.tar.gz
# 解压源码包
tar -zxvf php-8.2.10.tar.gz
cd php-8.2.10
# 配置编译参数,指定安装路径和启用的模块
./configure --prefix=/usr/local/php 
--enable-fpm 
--with-mysqli 
--with-pdo-mysql 
--with-curl 
--with-gd 
--with-mbstring 
--with-zip 
--with-openssl
# 编译,-j参数指定并行编译的线程数,可根据CPU核心数调整
make -j4
# 安装
sudo make install

PHP核心配置:php.ini文件

PHP的全局配置文件是php.ini,不同安装方式的配置文件路径不同:

  • 包管理器安装:通常路径为/etc/php/版本号/cli/php.ini/etc/php/版本号/fpm/php.ini
  • 源码编译安装:默认路径为/usr/local/php/lib/php.ini,如果没有可以复制源码包中的php.ini-production作为配置文件

以下是常用的配置参数调整:

; 设置时区
date.timezone = Asia/Shanghai
; 设置上传文件最大大小
upload_max_filesize = 20M
; 设置POST请求最大大小
post_max_size = 20M
; 设置脚本最大执行时间,单位秒
max_execution_time = 300
; 设置脚本最大内存占用
memory_limit = 256M
; 开启错误显示,生产环境建议关闭
display_errors = On
error_reporting = E_ALL

php-fpm服务配置与启动

php-fpm是PHP的FastCGI进程管理器,用于和Nginx、Apache等Web服务器配合处理PHP请求。

配置php-fpm

php-fpm的配置文件通常位于/etc/php/版本号/fpm/php-fpm.conf/etc/php/版本号/fpm/pool.d/www.conf,常用调整如下:

; www.conf中的常用配置
; 监听方式,可选sock文件或者端口,sock方式性能更好
listen = /run/php/php8.2-fpm.sock
; 监听的用户和组,需要和Web服务器用户一致
listen.owner = www-data
listen.group = www-data
; 进程管理配置
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

启动php-fpm服务

包管理器安装的php-fpm可以直接通过systemctl管理:

# 启动php-fpm服务
sudo systemctl start php8.2-fpm
# 设置开机自启
sudo systemctl enable php8.2-fpm
# 查看服务状态
sudo systemctl status php8.2-fpm

源码编译安装的php-fpm需要手动配置systemctl服务,或者直接使用安装目录下的sbin/php-fpm命令启动:

# 启动php-fpm
sudo /usr/local/php/sbin/php-fpm
# 停止php-fpm
sudo pkill php-fpm

验证PHP安装是否成功

可以创建一个PHP测试文件来验证环境是否正常:

<?php
// 输出PHP配置信息
phpinfo();
?>

将上面的代码保存为info.php,放到Web服务器的根目录下,访问http://127.0.0.1/info.php,如果能看到PHP的配置信息页面,说明PHP已经安装配置成功。

注意:测试完成后建议删除info.php文件,避免暴露服务器PHP配置信息带来安全风险。

LinuxPHPphp-fpmphp_iniconfigure修改时间:2026-07-03 21:00:31

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。