温馨提示×

Ubuntu中PHP怎么配置

小樊
49
2026-08-12 12:57:18
栏目: 编程语言

在 Ubuntu 中配置 PHP,通常分为 安装 PHP、配置 PHP 本身、配置与 Web 服务器(Apache / Nginx)的配合 三大部分。下面按常见场景一步步说明(以 Ubuntu 20.04 / 22.04 为例,PHP 7.4 / 8.x 通用)。


一、安装 PHP

1️⃣ 更新软件源

sudo apt update

2️⃣ 安装 PHP(以 PHP 8.1 为例)

sudo apt install php8.1

如果你需要常见扩展:

sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl php8.1-mbstring php8.1-zip

如果是 PHP 7.4:

sudo apt install php7.4 php7.4-fpm

二、PHP 主配置文件

1️⃣ 配置文件位置

/etc/php/8.1/

常见目录结构:

/etc/php/8.1/
├── cli/php.ini        # 命令行 PHP
├── fpm/php.ini        # PHP-FPM(Web 用)
└── fpm/pool.d/www.conf

2️⃣ 修改 php.ini

sudo nano /etc/php/8.1/fpm/php.ini

常用配置项:

upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 300
date.timezone = Asia/Shanghai

修改后重启 PHP-FPM:

sudo systemctl restart php8.1-fpm

三、与 Web 服务器配合使用


✅ Apache + PHP

1️⃣ 安装 Apache 和 PHP 模块

sudo apt install apache2 libapache2-mod-php8.1

2️⃣ 启用 PHP

sudo a2enmod php8.1
sudo systemctl restart apache2

3️⃣ 测试 PHP

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

✅ Nginx + PHP-FPM(推荐)

1️⃣ 安装 Nginx

sudo apt install nginx

2️⃣ 确保 PHP-FPM 运行

sudo systemctl status php8.1-fpm

3️⃣ 配置 Nginx 支持 PHP

编辑站点配置:

sudo nano /etc/nginx/sites-available/default

关键配置:

server {
    listen 80;
    server_name localhost;
    root /var/www/html;
    index index.php index.html;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}

4️⃣ 重启 Nginx

sudo systemctl restart nginx

四、PHP-FPM 常用配置

1️⃣ 进程池配置

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

常见参数:

user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data

五、查看 PHP 版本

php -v

六、常见问题排查

❌ 页面直接下载 PHP 文件

✅ 原因:PHP 未正确解析
✅ 解决:检查 Nginx / Apache 是否配置 PHP

❌ 502 Bad Gateway

✅ PHP-FPM 未启动或 sock 路径错误

sudo systemctl restart php8.1-fpm

❌ 修改 php.ini 无效

✅ 修改的是 fpm/php.ini 而不是 cli/php.ini
✅ 记得重启 PHP-FPM


七、如果你有具体需求

你可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 使用 Apache 还是 Nginx
  • 是本地开发还是服务器部署

我可以给你 精确到命令级别的配置方案

0