安装php-dev时自动安装PHP7.0而非已有的PHP7.3问题排查求助
问题排查与解决方法
1. 确认PHP源优先级
你的PHP7.3来自deb.sury.org第三方源,而Ubuntu 16.04官方源的php-dev默认绑定系统原生的PHP7.0。先检查源的配置:
- 执行命令查看已配置的第三方PHP源:
grep -r "deb.sury.org" /etc/apt/sources.list.d/ - 若第三方源未设置优先级,apt会优先选择官方源的包。可以给deb.sury.org源设置更高优先级:
创建文件/etc/apt/preferences.d/php-sury,写入以下内容:
执行Package: php* Pin: origin deb.sury.org Pin-Priority: 900apt update刷新源缓存。
2. 直接安装对应版本的php-dev
不要使用通用的php-dev包,直接指定7.3版本安装:
apt-get install php7.3-dev
这个包会自动包含对应版本的phpize7.3,安装完成后执行phpize7.3 -v验证版本。
3. 切换默认phpize版本
如果系统中存在多个版本的phpize,可通过update-alternatives切换默认版本:
- 先查看已注册的phpize选项:
update-alternatives --list phpize - 若未看到
phpize7.3,先注册该版本:update-alternatives --install /usr/bin/phpize phpize /usr/bin/phpize7.3 100 - 执行以下命令切换默认版本,按提示选择对应编号即可:
update-alternatives --config phpize
4. 检查已安装的PHP包状态
确认PHP7.3相关包是否完整,避免依赖缺失:
dpkg -l | grep php7.3
如果存在破损或缺失的包,执行apt-get install -f修复依赖。
内容的提问来源于stack exchange,提问作者Vivek Rao
相关产品推荐
相关产品推荐

