游乐游手机版
首页/编程语言/文章详情

Ubuntu系统安装PHP详细教程与配置指南

时间:2026-08-17 06:33
在Ubuntu上安装PHP需先更新系统源,选择合适版本(如8 1、8 2、8 3),可添加ondrej phpPPA。安装PHP及常用扩展如php-fpm、php-mysql等。与Apache集成使用libapache2-mod-php模块,与Nginx集成需配置PHP-FPM套接字。测试通过info php验证,完成后删除。常见问题包括Nginx下PHP文

在 Ubuntu 上安装 PHP,其实整体流程并不复杂,但很多新手在 PHP 版本选择、扩展组件安装以及与 Web 服务器对接时,常常会遇到问题。下面把 Ubuntu 安装 PHP 的完整步骤系统梳理一遍,从环境准备、版本确认,到配置测试和常见故障排查,帮助你一步一步顺利完成部署。

PHP在Ubuntu上的安装教程

一、环境准备与版本选择

正式开始之前,建议先更新一下 Ubuntu 系统软件源——当然,如果你当前系统环境已经稳定,也可以视情况跳过升级。终端执行:sudo apt update && sudo apt upgrade -y。接着可以查看仓库中可安装的 PHP 版本:apt search php | grep ^php。通常输出里会看到 PHP 8.1、PHP 8.2、PHP 8.3 等版本,根据你的项目需求选择即可。

这里需要特别注意:不同 Ubuntu 版本默认仓库提供的 PHP 版本并不完全一致。如果你必须安装某个指定版本的 PHP(例如 PHP 8.3),可以考虑添加 ondrej/php PPA 源。不过如果是生产服务器环境,是否使用第三方源仍需综合评估其稳定性与安全性。

二、安装 PHP 与常用扩展

下面以 PHP 8.1 为例说明 Ubuntu 安装 PHP 的方式(如果你要装 PHP 8.2 或 PHP 8.3,命令思路完全一致),同时安装 CLI 和常见扩展:

sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-json

安装完成后,可以通过 php -v 查看 PHP 版本信息,再用 php -m 检查已加载的模块。这里的 php-fpm 主要用于和 Nginx 或 Apache 的 FPM 模式配合处理 PHP 请求。至于扩展模块,则可以根据实际项目灵活增减,比如 php-imagickphp-redisphp-intl 等,都可以在后续按需安装。

三、与 Web 服务器集成

Ubuntu 配置 PHP 运行环境时,主流方案一般分为两种,具体取决于你使用的是 Apache 还是 Nginx。

与 Apache 集成(模块方式)
如果你使用 Apache,直接安装对应模块即可:sudo apt install apache2 libapache2-mod-php。然后重启 Apache:sudo systemctl restart apache2。完成后,Apache 通常就可以直接解析 .php 文件,无需额外配置 FastCGI,适合希望快速部署 PHP 环境的用户。

与 Nginx 集成(PHP-FPM 方式)
如果你使用 Nginx,通常推荐搭配 PHP-FPM。先安装 Nginx 和 PHP-FPM:sudo apt install nginx php-fpm。然后修改 Nginx 默认站点配置(路径 /etc/nginx/sites-a vailable/default),核心配置内容大致如下:

server {
    listen 80 default_server;
    root /var/www/html;
    index index.php index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        # 版本号与安装的 PHP 一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

配置完成后,启动 PHP-FPM 并设置开机自启:sudo systemctl start php8.1-fpm && sudo systemctl enable php8.1-fpm,接着重启 Nginx:sudo systemctl restart nginx。特别要注意,上面 php8.1-fpm.sock 中的版本号必须与实际安装的 PHP 版本保持一致,否则 Nginx 将无法连接到 PHP-FPM。

四、测试与常用管理命令

完成 Ubuntu PHP 安装和 Web 服务器配置后,建议先在网站根目录创建一个测试文件,确认 PHP 是否能够正常运行:

echo "" | sudo tee /var/www/html/info.php

然后在浏览器中访问 https://你的服务器IP/info.php,如果能看到 PHP 信息页面,就说明 PHP 安装、扩展加载以及 Web 服务器集成都已经成功。日常运维时,常用命令包括:重启 Apache 用 sudo systemctl restart apache2,重启 Nginx 用 sudo systemctl restart nginx,重启 PHP-FPM 用 sudo systemctl restart php8.1-fpm,查看 PHP-FPM 状态可执行 sudo systemctl status php8.1-fpm。如果你想确认 PHP 配置文件的位置,可以使用 php --ini。最后还要提醒一点:测试完成后务必删除 info.php,避免服务器环境信息泄露,影响安全。

五、常见问题与排错

访问 .php 文件被下载而不是解析(多见于 Nginx)
这种情况通常说明 PHP 解析配置存在问题。重点检查 location ~ \.php$ 配置段是否正确,尤其是 fastcgi_pass 后面的套接字路径,必须和当前安装的 PHP 版本一致,路径写错哪怕一个字符都可能导致解析失败。

PHP-FPM 无法启动或 502 错误
建议先查看日志:sudo journalctl -u php8.1-fpm。同时确认 /run/php/php8.1-fpm.sock 文件确实存在,并且权限设置正确。有些情况下,重新启动 PHP-FPM 和 Nginx 服务就可以恢复正常。

扩展未生效
先确认对应扩展包已经成功安装,例如 php-mysqlphp-gd 等。如果你修改过 php.ini 或 PHP-FPM 池配置文件,记得重启相关服务,否则新配置不会立即生效。

多版本并存与切换
在同一台 Ubuntu 服务器上同时安装多个 PHP 版本是完全可行的。你可以通过 update-alternatives 切换默认的 php 命令版本,也可以为不同网站分别指定不同的 PHP-FPM 套接字。这样的配置方式非常灵活,但实际操作时一定要确认版本对应关系,避免混用造成环境错乱。

来源:https://www.yisu.com/ask/79035286.html
上一篇Debian服务器上JSP项目备份策略与实施方案 下一篇安装MinIO遇到问题怎么排查与解决
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Yum怎么查找已安装软件包及安装信息
编程语言 · 2026-08-17

Yum怎么查找已安装软件包及安装信息

使用yumlistinstalled列出所有已安装软件包,配合grep可快速过滤特定软件;yuminfo查看元数据和安装状态;yumsearch通过关键词搜索包名。以上命令均需sudo权限执行。

Debian系统中Python与Java互操作方法详解
编程语言 · 2026-08-17

Debian系统中Python与Java互操作方法详解

在Debian系统中,Python与Java互操作有五种方案:Jython直接调用Java类库但仅支持Python2;GraalVM实现多语言高性能协作;JNI底层灵活但复杂度高;Web服务通过RESTfulAPI解耦;消息队列支持异步解耦。各方案适用场景不同,需根据需求选择。

@FunctionalInterface校验逻辑与函数式接口强制约束规范
编程语言 · 2026-08-17

@FunctionalInterface校验逻辑与函数式接口强制约束规范

@FunctionalInterface 这个注解在 Java 开发中很常见,很多人都用过,但真正彻底理解它作用的人,其实并不算多。归根结底,它本质上是一种编译期契约声明,同时也是编译器进行强制校验的一道安全锁。它不会在运行时改变接口行为,也不会给接口增加任何额外能力。但不要因此低估它——在提升代码

Ubuntu上如何测试JavaScript性能与运行效率
编程语言 · 2026-08-17

Ubuntu上如何测试JavaScript性能与运行效率

Ubuntu上JavaScript性能测试实用指南 一 测试类型与指标 在Ubuntu环境中进行JavaScript性能测试,首先要明确测试目标。从实际项目经验来看,JS性能测试通常可以分为三大类,不同类型关注的性能指标也不一样: 前端页面与渲染性能:核心指标包括FPS(帧率)、长任务、布局与重绘,

LNMP环境容量规划怎么做更合理
编程语言 · 2026-08-17

LNMP环境容量规划怎么做更合理

LNMP环境容量规划需评估CPU、内存、磁盘I O等现状,明确响应时间等关键指标,基于历史流量预测负载,倒推服务器资源,设计水平或垂直扩展方案,通过压测验证,并持续监控调整,定期备份恢复,记录决策并同步团队。