php 共存,php版本共存
在Ubuntu服务器上,首先需要添加ondrej/phpPPA源,然后就可以安装多个PHP版本(例如PHP7.1、7.2等)及其扩展。之后使用a2enmod和a2dismod命令来切换Apache所使用的PHP模块,并重启Apache服务使修改生效。如果遇到PDO未加载MySQL驱动的错误,则需要在php.ini文件中启用pdo_mysql扩展,随后重启服务
在服务器上同时运行多个PHP版本,是很多开发者和运维人员都会遇到的场景。特别是在项目迁移或测试不同环境时,版本共存的需求尤为突出。下面就把这套基于Ubuntu的PHP多版本管理方案拆开来讲,从源配置到具体命令,一步到位。
1、更新源(Ubuntu)
首先,需要添加ondrej/php这个第三方PPA源,它维护了非常全的PHP版本库:
sudo add-apt-repository ppa:ondrej/php
sudo apt upgrade
sudo apt update
这样一来,系统就能获取到包括PHP 7.1在内的多个版本包了。
2、安装PHP 7.1及常用扩展
执行以下命令,一次性安装PHP 7.1及其核心扩展(注意,这里已经把常用模块都打包进去了):
sudo apt-get install -y php7.1-common php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-gd php7.1-curl php7.1-json php7.1-fpm php7.1-zip php7.1-mcrypt libapache2-mod-php7.1
安装完成后,Apache环境下切换PHP版本就靠下面两个命令:
;; 开启一个php版本
sudo a2enmod php7.1
;; 禁用一个php版本
sudo a2dismod php7.1
;; 重启Apache2
sudo service apache2 restart
简单来说,就是通过a2enmod和a2dismod来启用或禁用对应的Apache模块,然后重启服务即可生效。
PHP Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' 解决方案
如果遇到这个错误,说明PHP的PDO扩展没有正确加载MySQL驱动。解决方法很简单:
找到php.ini配置文件,确保以下两行没有被注释掉:
extension=php_pdo.dll //开启PDO
extension=php_pdo_mysql.dll //PDO 访问mysql 驱动
注意,在Linux环境下,扩展名通常是.so而不是.dll,但原理一致——确保PDO和PDO MySQL模块被加载。修改后重启PHP-FPM或Apache即可。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















