温馨提示×

Debian怎么配置PHP

小樊
47
2026-07-17 09:46:07
栏目: 编程语言

在 Debian 上配置 PHP,通常包括 安装 PHP、选择 PHP 版本、配置 PHP-FPM(用于 Nginx)或修改 Apache 配置(用于 Apache)。下面我按常见场景一步步说明。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 PHP(推荐 PHP 8.x)

1️⃣ Debian 12(Bookworm)默认源

Debian 12 默认包含 PHP 8.2:

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

2️⃣ Debian 11(Bullseye)想用新版本 PHP

添加 Sury 源(常用):

sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip

三、查看 PHP 版本

php -v

四、配置 PHP(php.ini)

1️⃣ 找到 php.ini 路径

php --ini

常见路径:

/etc/php/8.2/cli/php.ini
/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 = 300
date.timezone = Asia/Shanghai

五、配置 PHP-FPM(Nginx 必选)

1️⃣ 启动并设置开机自启

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

2️⃣ 查看 PHP-FPM 监听方式

cat /etc/php/8.2/fpm/pool.d/www.conf | grep listen

一般:

listen = /run/php/php8.2-fpm.sock

六、Nginx 使用 PHP 配置示例

1️⃣ 安装 Nginx

sudo apt install nginx -y

2️⃣ Nginx 站点配置

server {
    listen 80;
    server_name example.com;
    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;
    }
}

重启:

sudo nginx -t
sudo systemctl restart nginx

七、Apache 使用 PHP 配置

1️⃣ 安装 Apache

sudo apt install apache2 -y

2️⃣ 使用 mod_php 或 PHP-FPM

✅ 推荐 PHP-FPM:

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

重启:

sudo systemctl restart apache2

八、测试 PHP 是否正常工作

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

浏览器访问:

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

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


九、常见问题排查

PHP 不解析(显示源码)

  • Nginx 没配置 fastcgi_pass
  • PHP-FPM 没启动
  • Apache 没启用 PHP 模块

502 Bad Gateway

sudo systemctl status php8.2-fpm
ls -l /run/php/php8.2-fpm.sock

十、总结流程(速查)

apt update
apt install php php-fpm php-mysql
systemctl enable php-fpm
# Nginx / Apache 对应配置

如果你告诉我:

  • Debian 版本
  • 用 Nginx 还是 Apache
  • PHP 版本需求

我可以直接给你 最精简、最适合你环境的配置方案

0