在 Debian 系统里处理 PHP 依赖,常见场景有几种,下面按最常用到最复杂给你系统说明,基本能覆盖 90% 的情况。
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip
常用扩展说明:
| 扩展 | 用途 |
|---|---|
| php-cli | 命令行 |
| php-fpm | Nginx / Apache FastCGI |
| php-mysql | MySQL / MariaDB |
| php-curl | HTTP 请求 |
| php-mbstring | 多字节字符串 |
| php-xml | XML |
| php-zip | 压缩 |
apt list php*
Debian 默认仓库 PHP 版本一般较保守(Debian 11 = PHP 7.4,Debian 12 = PHP 8.2)。
如果你需要 PHP 8.3 / 8.4 或同时管理多个版本:
sudo apt install -y curl gnupg2 ca-certificates
curl -sSLo /tmp/debsuryorg-archive-keyring.deb \
https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/sury-php.list'
sudo apt update
安装指定版本:
sudo apt install php8.3 php8.3-fpm php8.3-mysql
dpkg -l | grep php
sudo apt remove php7.4*
sudo apt autoremove
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer install
ext-curl is missing
解决:
sudo apt install php-curl
Requires PHP >=8.1
解决:
sudo apt install php8.1
sudo apt install libapache2-mod-php
sudo apt install php-fpm
检查:
systemctl status php8.2-fpm
php -v
php -m
php -i | grep "Loaded Configuration"
| 系统 | PHP | 方式 |
|---|---|---|
| Debian 12 | PHP 8.2 | apt |
| Debian 11 | PHP 8.1/8.2 | sury |
| 生产环境 | PHP-FPM | ✅ |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以直接给你一套精确命令方案。