温馨提示×

Ubuntu PHP配置如何设置

小樊
44
2026-08-12 13:37:19
栏目: 编程语言

下面给你一份在 Ubuntu 上配置 PHP 的完整常见指南,覆盖 PHP 安装、PHP-FPM、Apache / Nginx、常用配置项,适合大多数服务器场景。


一、安装 PHP(Ubuntu)

1️⃣ 更新软件源

sudo apt update

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

sudo apt install php8.2 php8.2-cli php8.2-fpm

常用扩展:

sudo apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip

查看版本:

php -v

二、PHP 配置文件位置

Ubuntu 下 PHP 配置路径通常为:

类型 路径
PHP 主配置 /etc/php/8.2/cli/php.ini
PHP-FPM 配置 /etc/php/8.2/fpm/php.ini
FPM pool 配置 /etc/php/8.2/fpm/pool.d/www.conf

⚠️ Web 服务使用的是 fpm/php.ini,不是 cli


三、与 Web 服务器配合使用

✅ Apache + PHP(mod_php 或 PHP-FPM)

方式一:Apache + PHP-FPM(推荐)

sudo apt install apache2
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2

✅ Nginx + PHP-FPM(最常用)

1️⃣ 安装 Nginx

sudo apt install nginx

2️⃣ 配置 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.2-fpm.sock;
    }
}

3️⃣ 重启服务

sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm

四、常见 PHP 配置修改

编辑:

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

✅ 常用配置项

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

修改后重启 PHP-FPM:

sudo systemctl restart php8.2-fpm

五、PHP-FPM 进程配置(性能)

编辑:

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

常用参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

六、测试 PHP 是否生效

创建测试文件:

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

浏览器访问:

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

✅ 看到 PHP 信息页说明配置成功
⚠️ 测试完建议删除:

sudo rm /var/www/html/info.php

七、常见问题排查

❌ 502 Bad Gateway

  • PHP-FPM 未启动
sudo systemctl status php8.2-fpm

❌ PHP 文件被下载

  • Nginx 未正确配置 fastcgi_pass
  • Apache 未启用 PHP

八、多版本 PHP 共存(可选)

sudo apt install php7.4 php8.1

切换 CLI 版本:

sudo update-alternatives --config php

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)
  • ✅ Apache 还是 Nginx
  • ✅ 用的是 PHP 几

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

0