phpseclib SSH2登录在命令行上工作,而不是通过服务

phpseclib SSH2登录在命令行上工作,而不是通过服务,php,ssh,phpseclib,Php,Ssh,Phpseclib,我不明白为什么相同的php脚本可以在命令行上运行,但当php脚本作为Debian上的服务运行时却不能 以下代码不能作为服务php脚本使用: $ssh = new Net_SSH2("localhost", $port); if($ssh->login("loginname", "password")) { // success } else { // failed } 我猜这与权限有关,但我找不到任何关于授予systemd/服务使用phpseclib SSH2登录的权限的信息

我不明白为什么相同的php脚本可以在命令行上运行,但当php脚本作为Debian上的服务运行时却不能

以下代码不能作为服务php脚本使用:

$ssh = new Net_SSH2("localhost", $port);
if($ssh->login("loginname", "password"))
{
   // success
}
else
{
   // failed
}
我猜这与权限有关,但我找不到任何关于授予systemd/服务使用phpseclib SSH2登录的权限的信息


感谢您的反馈

我有点想知道更深层次的问题是否是
fsockopen
已被禁用。
fsockopen(“localhost”,$port)
是否会给您一个错误?也就是说,还有一些可能有用的东西:do
define('NET\u SSH2\u LOGGING',2)
echo$ssh->getLog()登录尝试失败后。你好,neubert,感谢您的回复!我已经在命令行和正在运行的服务中测试了您的fsockopen()。两者都很好。我还尝试了getLog()。我应该在输出中寻找什么?在右边的专栏中,我看到了很多我不理解的电子邮件地址和注释。将注释添加到pastebin.com,然后在这里发布链接。嗨,neubert,我发现了我做错了什么:我忘了在include语句中添加“dirname(FILE)”。。。现在它就像服务中的一个符咒。谢谢你的支持!