商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > PHP在Ubuntu上的安装教程

PHP在Ubuntu上的安装教程

  发布于2026-07-03 阅读(0)

扫一扫,手机访问

在 Ubuntu 上装 PHP,说简单也简单,但新手往往会在版本选择、扩展安装、和 Web 服务器集成这几个环节上卡壳。下面就把整个流程拆开来捋一遍,从环境准备到常见坑的排查,一步步说清楚。

PHP在Ubuntu上的安装教程

一、环境准备与版本选择

动手之前,先把系统源更新一下——当然,如果你对系统版本很满意,也可以跳过升级这一步。终端执行:sudo apt update && sudo apt upgrade -y。然后看看仓库里都有哪些 PHP 版本可用:apt search php | grep ^php。输出结果中会列出 8.1、8.2、8.3 等版本,选你需要的就行。

有一点要提醒:不同 Ubuntu 版本自带的仓库提供的 PHP 版本差别不小。如果你非要某个特定版本(比如 8.3),可以考虑添加 ondrej/php PPA 源——生产环境的话,得自己掂量一下这个源的稳定性和安全性。

二、安装 PHP 与常用扩展

以 PHP 8.1 为例(换成 8.2 或 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 -m 确认模块都加载了。这里面的 php-fpm 是专门用来和 Nginx 或 Apache(FPM 模式)配合处理 PHP 请求的。至于扩展,完全可以根据项目按需增减——比如 php-imagickphp-redisphp-intl 这些,后面随时补装都可以。

三、与 Web 服务器集成

两种主流方案,看你用的是 Apache 还是 Nginx。

与 Apache 集成(模块方式)
装一个模块就搞定:sudo apt install apache2 libapache2-mod-php。然后重启 Apache:sudo systemctl restart apache2。装好之后 Apache 自动就能解析 .php 文件,不用额外折腾 FastCGI 配置,算是省心做法。

与 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 里的版本号换成你实际安装的版本,不然连不上。

四、测试与常用管理命令

在网站根目录下创建一个测试文件,验证一切是否正常:

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

浏览器访问 http://你的服务器IP/info.php,看到 PHP 信息页面就说明安装和集成都成功了。日常管理中,重启服务的命令分别是 sudo systemctl restart apache2sudo systemctl restart nginx,重启 PHP-FPM 用 sudo systemctl restart php8.1-fpm,查看状态用 sudo systemctl status php8.1-fpm。想知道 PHP 的配置文件在哪,可以敲 php --ini。最后,一个安全提醒:测试完务必删除 info.php,否则服务器环境信息就全暴露了。

五、常见问题与排错

访问 .php 文件被下载而不是解析(多见于 Nginx)
检查 location ~ \.php$ 配置段是否写对了,尤其是 fastcgi_pass 后面的套接字路径是否与安装的 PHP 版本一致,少一个斜杠都不行。

PHP-FPM 无法启动或 502 错误
先看日志:sudo journalctl -u php8.1-fpm。确认 /run/php/php8.1-fpm.sock 存在且权限正确。有时候重启一下 FPM 和 Nginx 就能解决问题。

扩展未生效
确认扩展包已经安装(比如 php-mysqlphp-gd)。如果改了 php.ini 或 FPM 池配置,记得重启对应的服务才能生效。

多版本并存与切换
完全可以在同一台机器上装多个 PHP 版本。用 update-alternatives 切换默认的 php 命令版本,同时为不同站点配置不同的 PHP-FPM 套接字——灵活性很高,但也别搞混了。

本文转载于:https://www.yisu.com/ask/79035286.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注