温馨提示×

ubuntu php如何配置

小樊
44
2026-08-24 13:30:07
栏目: 编程语言

下面给你一份在 Ubuntu 上配置 PHP 的完整常见方案,从安装到常见配置,基本覆盖 90% 的使用场景(Web 开发 / Nginx / Apache)。


一、安装 PHP(Ubuntu)

1️⃣ 更新软件源

sudo apt update
sudo apt upgrade -y

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

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

如果你需要其他版本(如 7.4 / 8.1):

sudo apt install php7.4 php7.4-fpm

查看版本:

php -v

二、PHP 常见运行模式

✅ 推荐:PHP-FPM(Nginx 必选)

sudo systemctl status php8.2-fpm

启动 / 重启 / 开机自启:

sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm

三、与 Web 服务器配置


✅ Nginx + PHP 配置(最常见)

1️⃣ 安装 Nginx

sudo apt install nginx -y

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 / {
        try_files $uri $uri/ =404;
    }

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

3️⃣ 测试 PHP

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

访问:

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

✅ 看到 PHP 信息页面说明成功


✅ Apache + PHP 配置

1️⃣ 安装 Apache

sudo apt install apache2 -y

2️⃣ 安装 PHP Apache 模块

sudo apt install libapache2-mod-php8.2

3️⃣ 启用 PHP

sudo a2enmod php8.2
sudo systemctl restart apache2

测试:

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

四、PHP 配置文件位置

主配置文件

/etc/php/8.2/

常见目录:

/etc/php/8.2/cli/php.ini      # 命令行 PHP
/etc/php/8.2/fpm/php.ini      # PHP-FPM(Web)

五、常见 PHP 配置修改

编辑:

sudo nano /etc/php/8.2/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.2-fpm

六、安装常用 PHP 扩展

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

查看已安装扩展:

php -m

七、常见问题排查

❌ Nginx 访问 PHP 显示 404 / 下载文件

✅ 检查:

  • fastcgi_pass 路径是否正确
  • .php 文件是否存在
  • Nginx 是否重启

❌ 502 Bad Gateway

sudo systemctl status php8.2-fpm

检查 sock 文件:

ls /run/php/

八、快速总结(常用命令)

php -v
sudo systemctl status php8.2-fpm
sudo systemctl restart nginx
sudo systemctl restart apache2

如果你告诉我:

  • ✅ 用的是 Nginx 还是 Apache
  • ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)
  • ✅ 是 本地开发 / 服务器 / Docker

我可以给你一份更精确的一键配置方案

0