温馨提示×

Ubuntu下PHP怎么配置

小樊
39
2026-07-13 21:13:23
栏目: 编程语言

在 Ubuntu 下配置 PHP,通常取决于你的使用场景:命令行(CLI)Web 服务器(Apache / Nginx)、以及版本选择。下面给你一套从零到可用的完整方案,基本覆盖 90% 的使用场景。


一、选择并安装 PHP 版本

1️⃣ 查看 Ubuntu 版本

lsb_release -a

2️⃣ 安装默认 PHP(推荐新手)

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

3️⃣ 安装指定 PHP 版本(如 PHP 8.2)

Ubuntu 默认源可能版本较旧,建议用 Ondřej Surý PPA(最常用)

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

安装 PHP 8.2:

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

查看版本:

php -v

二、PHP 基本配置(php.ini)

1️⃣ 找到 php.ini 位置

php --ini

常见路径:

  • CLI:/etc/php/8.2/cli/php.ini
  • FPM:/etc/php/8.2/fpm/php.ini

2️⃣ 修改配置

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

常用修改项:

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

保存后重启:

sudo systemctl restart php8.2-fpm

三、配合 Web 服务器使用


✅ Apache + PHP

安装 Apache

sudo apt install apache2

使用 PHP 模块方式(简单)

sudo apt install libapache2-mod-php8.2
sudo systemctl restart apache2

测试:

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

访问:

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

✅ Nginx + PHP(推荐生产环境)

安装 Nginx

sudo apt install nginx

安装 PHP-FPM

sudo apt install php8.2-fpm

配置 Nginx

编辑站点配置:

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;
    }
}

重启服务

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

四、PHP 命令行(CLI)配置

CLI 使用的 php.ini 与 Web 不同:

php -i | grep "Loaded Configuration File"

直接运行 PHP 脚本:

php test.php

五、常见扩展安装

sudo apt install php8.2-redis
sudo apt install php8.2-mongodb
sudo apt install php8.2-sqlite3

查看已安装扩展:

php -m

六、常见问题排查

❌ Nginx 访问 PHP 显示 404 / 502

  • 检查 php8.2-fpm 是否运行
systemctl status php8.2-fpm
  • 检查 sock 文件路径是否一致

❌ php -v 命令不存在

sudo apt install php-cli

七、推荐最小可用配置(总结)

Nginx + PHP-FPM(主流)

nginx + php8.2-fpm + php8.2-mysql

Apache(简单)

apache2 + libapache2-mod-php8.2

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

  • ✅ Ubuntu 版本
  • ✅ Apache 还是 Nginx
  • ✅ PHP 用于 Laravel / ThinkPHP / WordPress / 原生?

我可以给你精确到每一步的命令

0