RHEL8系统PHP7.4环境下安装ssh2扩展及Pyrus相关问题咨询
问题原因
你遇到的报错和locate无返回结果的核心原因是你尚未将Pyrus的phar包下载到本地环境。RHEL8默认的PHP7.4软件源没有预置任何pyrus相关文件,执行php pyrus.phar时,系统只会在当前工作目录和PHP配置的include_path路径下查找对应文件,找不到就会抛出输入文件不存在的错误;updatedb更新文件索引后locate依然无结果,也印证了系统全局范围内不存在名称带pyrus的文件。
问题解决方法
一、安装PHP ssh2模块
- 若未启用epel源先执行启用操作:
dnf install -y epel-release - 安装编译依赖包:
dnf install -y php-devel php-pear libssh2 libssh2-devel make gcc - 安装适配PHP7.4的ssh2扩展:
pecl install ssh2-1.3.1 - 新增扩展配置文件,让PHP加载ssh2模块:
echo "extension=ssh2.so" > /etc/php.d/20-ssh2.ini - 重启对应服务生效:如果使用php-fpm则执行
systemctl restart php-fpm,如果使用Apache作为web服务则执行systemctl restart httpd - 验证安装:执行
php -m | grep ssh2,有输出即为安装成功。
二、安装Pyrus(Pear2 Package Manager)
- 切换到全局可执行文件存放目录:
cd /usr/local/bin - 从Pyrus官方分发渠道下载适配PHP7.4版本的
pyrus.phar文件到当前目录 - 给phar文件添加执行权限:
chmod +x pyrus.phar - (可选)配置全局调用别名,后续直接用pyrus命令调用:
echo "alias pyrus='php /usr/local/bin/pyrus.phar'" >> /etc/profile && source /etc/profile - 验证安装:执行
php /usr/local/bin/pyrus.phar --version,正常输出版本信息即为安装成功。
内容的提问来源于stack exchange,提问作者Thayalan Thillainathan
相关产品推荐
相关产品推荐

