你提到“Ubuntu PHP 配置兼容性问题”,范围比较广,我先按最常见场景给你一个系统性说明和排查清单;如果你有具体报错或场景(比如升级 PHP 后网站打不开、某扩展不可用、框架报错),可以补充说明,我可以更针对性地帮你。
| Ubuntu | 默认 PHP |
|---|---|
| 20.04 | 7.4 |
| 22.04 | 8.1 |
| 24.04 | 8.3 |
✅ 问题常见来源
each()、create_function() 等)✅ 解决方案
# 安装多版本 PHP
sudo apt install php7.4 php8.1
# 切换 CLI 版本
sudo update-alternatives --set php /usr/bin/php7.4
sudo apt install libapache2-mod-php8.1
sudo a2enmod php8.1
sudo systemctl restart apache2
❌ 常见错误
.php✅ 检查
php -v
apache2ctl -M | grep php
Nginx 不直接支持 PHP,必须靠 php-fpm
sudo apt install php8.1-fpm
/etc/nginx/sites-enabled/default 中必须有:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
php -m
sudo apt install php8.1-common php8.1-mysql php8.1-curl php8.1-mbstring php8.1-xml php8.1-zip
⚠️ 注意:扩展版本必须和 PHP 版本一致
# 错误示例(混用)
php8.1 + php7.4-mysql ❌
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
cgi.fix_pathinfo=0
路径:
/etc/php/8.1/cli/php.ini
/etc/php/8.1/fpm/php.ini
✅ 修改后:
sudo systemctl restart php8.1-fpm
Your requirements could not be resolved
✅ 解决
composer install --ignore-platform-reqs
或指定 PHP:
composer config platform.php 7.4
php -v 是否正常tail -f /var/log/php8.1-fpm.log
tail -f /var/log/apache2/error.log
我可以直接给你可复制的命令方案。