温馨提示×

Debian PHP环境如何搭

小樊
49
2026-09-14 07:11:13
栏目: 编程语言

下面给你一份在 Debian 上搭建 PHP 运行环境的常见做法,覆盖 CLI + Web(Nginx/Apache) 两种场景,适合新手到生产环境参考。


一、系统准备

sudo apt update
sudo apt upgrade -y

查看 Debian 版本:

cat /etc/debian_version

二、安装 PHP(推荐方式:apt)

1️⃣ 安装 PHP 及常用扩展

sudo apt install -y php php-cli php-fpm php-common \
php-mysql php-curl php-gd php-mbstring php-xml php-zip

查看 PHP 版本:

php -v

Debian 12 默认是 PHP 8.2
如需 PHP 8.3 / 8.1,可用 sury 源(下面有说明)


三、搭配 Nginx(推荐)

1️⃣ 安装 Nginx

sudo apt install -y nginx

2️⃣ 配置 PHP-FPM(Nginx 用)

PHP-FPM 已随 php-fpm 安装,查看服务:

systemctl status php8.2-fpm

实际版本号可能不同(如 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.2-fpm.sock;
    }
}

测试并重载:

sudo nginx -t
sudo systemctl reload nginx

4️⃣ 测试 PHP

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

浏览器访问:

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

四、搭配 Apache(可选)

sudo apt install -y apache2 libapache2-mod-php

Apache 会自动启用 PHP。

测试:

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

访问:

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

五、安装指定 PHP 版本(如 8.3)

Debian 默认源版本较旧,可使用 Sury 源:

sudo apt install -y lsb-release ca-certificates apt-transport-https
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

安装 PHP 8.3:

sudo apt install -y php8.3 php8.3-fpm php8.3-mysql

六、常见问题

✅ PHP 不解析(显示源码)

  • Nginx:检查 fastcgi_pass 路径
  • Apache:确认 libapache2-mod-php 已安装

✅ 权限问题

sudo chown -R www-data:www-data /var/www/html

✅ 开机自启

sudo systemctl enable nginx php8.2-fpm

七、推荐组合(生产)

✅ Debian + Nginx + PHP-FPM + MariaDB
✅ PHP 版本:8.2 / 8.3
✅ 使用 php-fpm 而非 mod_php


如果你告诉我:

  • Debian 版本(11 / 12)
  • 用 Nginx 还是 Apache
  • 是否要安 MySQL / Redis / Composer

我可以直接给你一套可复制的完整命令。

0 踩