我在尝试将 ondrej 的 ppa 用于 ubuntu 10.04 LTS 时遇到了同样的问题。似乎他没有包含 sssh 扩展。
Apt-get 尝试从与当前安装的版本发生冲突(取决于 phpapi-20090626+lfs)的默认包安装版本,不是吗?
只有我的备份 php cli 脚本需要此扩展程序才能运行。在尝试解决依赖但没有成功后,我切换到了 shell_exec('ssh ...@...') 解决方案作为解决方法。
我只是一个具有高级管理知识的开发人员,没有 apt-get 或 linux 打包管理专业人员。也许有其他解决方案可以通过打包管理来解决这个问题,或者可能从源代码构建所需的版本?
编辑:会有另一个更好的解决方案 :-) 你可以使用 pecl 安装/构建扩展,这是我所做的:
$ sudo pecl install ssh2
Failed to download pecl/ssh2 within preferred state "stable", latest release is version 0.12, stability "beta", use "channel://pecl.php.net/ssh2-0.12" to install
install failed
$ sudo pecl install channel://pecl.php.net/ssh2-0.12
downloading ssh2-0.12.tgz ...
Starting to download ssh2-0.12.tgz (26,223 bytes)
[...]
Build process completed successfully
Installing '/usr/lib/php5/20100525+lfs/ssh2.so'
install ok: channel://pecl.php.net/ssh2-0.12
configuration option "php_ini" is not set to php.ini location
You should add "extension=ssh2.so" to php.ini
之后我将 extension=/usr/lib/php5/20100525+lfs/ssh2.so 添加到 php 配置中。