在 Ubuntu 22.04 PHP 8.1.27 中安装 SSH2

在 Ubuntu 22.04 PHP 8.1.27 中安装 SSH2

我只是 Ubuntu 的新手,但我试图运行一个使用 ssh2_connect() 函数的 PHP 脚本,但一直出现错误;

PHP Warning:  ssh2_connect(): Unable to connect to ftp.xxx.co.uk on port 22                                                                              in /var/www/clients/client1/web1/web/distcheck/xxx.php on line 2

我阅读了几个关于如何在 Ubuntu 中启用 ssh2 的教程,并改编了一个看起来可行的教程;

sudo apt-get install php8.1-ssh2

然后

sudo service apache2 restart

但我仍然遇到同样的错误。

如果我只需在命令行中输入;

SSH2

我明白了;

  Command 'ssh2' not found, did you mean:
  command 'sshd' from deb openssh-server (1:8.9p1-3ubuntu0.4)
  command 'ss2' from deb python3-pyroute2.core (0.6.4-3ubuntu2)
  command 'ssh1' from deb openssh-client-ssh1 (1:7.5p1-13)
  command 'ssh' from deb openssh-client (1:8.9p1-3ubuntu0.4)
  Try: sudo apt install <deb name>

所以,我尝试过了;

sudo apt install ssh2

但要明白这一点;

Package ssh2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'ssh2' has no installation candidate

我看到很多其他人也问过类似的问题......但我还没有找到适合我的答案......所以希望有人可以提供一些详细的帮助。

谢谢

答案1

首先安装 php ssh2 包:

sudo apt install php8.1-ssh2

找出你使用的 php.ini:

php --ini

应该类似于 /etc/php/php.ini

打开该文件并检查扩展部分是否有条目:

extension=ssh2.so

如果没有,请在扩展部分添加此行。

重新启动Apache:

sudo service apache2 restart

我没有测试过,但是那应该可以完成工作。

相关内容