你提到的“Ubuntu PHP 配置如何兼容”,通常有以下几种常见场景。我先分别说明,你可以对照自己的情况:
Ubuntu 上经常需要 PHP 7.4 / 8.1 / 8.2 共存。
sudo apt install php7.4 php8.1 php8.2
sudo update-alternatives --set php /usr/bin/php8.1
查看当前版本:
php -v
sudo a2dismod php7.4
sudo a2enmod php8.1
sudo systemctl restart apache2
sudo systemctl stop php7.4-fpm
sudo systemctl start php8.1-fpm
并修改 nginx 配置:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
mysql_* 函数(PHP 7+ 已移除){} 字符串访问)display_errors = On
error_reporting = E_ALL
mysqli 或 PDOsymfony/polyfill)display_errors = On
error_reporting = E_ALL
display_errors = Off
log_errors = On
/etc/php/8.1/cli/php.ini
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
composer install --ignore-platform-reqs
或在 composer.json 中:
"config": {
"platform": {
"php": "7.4.0"
}
}
| 问题 | 解决 |
|---|---|
| 函数不存在 | 升级代码或用 polyfill |
| 扩展缺失 | sudo apt install php8.1-xxx |
| 版本冲突 | 用 update-alternatives |
| Nginx 502 | PHP-FPM socket 不匹配 |
如果你能具体说明:
我可以直接给你一套精准配置方案。