最近因为项目需求,需要在开发机器安装多个版本的php,且各版本的扩展还有不兼容的情况,
由于在mac 上使用brew 安装了php,扩展需要使用pecl来安装,但是出现了扩展互相覆盖的问题,
原因在于:

/usr/local/Cellar/[email protected]{{ version }}/pecl  目录做了 /usr/local/lib/php/pecl/ 的软连接  而/usr/local/lib/php/pecl/{{ date }} 目录才是pecl下载的扩展安装目录  {{ date }} 初步猜测是zend 内核版本的名字  而在对应版本的php.ini 中,的extension_dir 中会配置扩展所在目录:  extension_dir = "/usr/local/lib/php/pecl/20170718"  # php7 extension_dir = "/usr/local/lib/php/pecl/20131226" # php56  使用对应版本的pecl安装,会安装到对应的目录:  /usr/local/opt/php/bin/pecl install redis # php7 ,安装到对应目录 /usr/local/opt/[email protected]/bin/pecl install redis   # php56,安装到对应目录
Tagged:

发表评论

电子邮件地址不会被公开。 必填项已用*标注