Remi PHP5.6容器安装pecl ssh2报错:需php-devel但已安装
解决Remi PHP 5.6(SCL)安装pecl ssh2扩展失败的问题
问题根源
你当前安装的php-devel是系统默认的PHP 5.4版本包,和实际使用的Remi SCL(Software Collections)PHP 5.6不匹配,导致phpize找不到对应版本的头文件(/opt/rh/rh-php56/root/usr/include/php为空),进而安装失败。
解决步骤
先确认当前使用的PHP版本路径,确保是SCL的PHP 5.6:
which php php -v正常输出应指向
/opt/rh/rh-php56/root/usr/bin/php,版本为5.6.x。安装对应SCL版本的php-devel包(带
rh-php56-前缀):yum install rh-php56-php-devel该包会自动填充
/opt/rh/rh-php56/root/usr/include/php目录下的头文件。使用SCL对应版本的pecl工具安装ssh2扩展:
方式一:先启用SCL环境再执行命令scl enable rh-php56 bash pecl install ssh2方式二:直接调用绝对路径的pecl
/opt/rh/rh-php56/root/usr/bin/pecl install ssh2
注意事项
SCL的PHP包采用独立目录隔离,所有相关组件(devel、pecl、扩展等)都需安装带rh-php56-前缀的版本,避免和系统默认PHP版本混淆。
内容的提问来源于stack exchange,提问作者Mike Pinnell
相关产品推荐
相关产品推荐

