php – 无法从Apache内部与Net_SSH2连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 无法从Apache内部与Net_SSH2连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1119字,纯文字阅读大概需要2分钟。
内容图文
![php – 无法从Apache内部与Net_SSH2连接](/upload/InfoBanner/zyjiaocheng/745/838c19392d9846c2a3f50bab15ecefc5.jpg)
我试图从PHP SSH,但我收到以下错误:
注意:无法连接到[host].错误13.
第875行/usr/share/php/Net/SSH2.php中的权限被拒绝
这是代码:
<?PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
include_once('Net/SSH2.php');
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);
$ssh = new Net_SSH2($host);
if( $ssh->login($id, $pw) )
{
error_log("logged");
$result['data'] = $ssh->exec('dir');
}
else
{
error_log( $ssh->getLog() );
}
?>
但是当我从命令行运行这个相同的代码与apache混合使用它运行正常.
我有一个与使用paramiko到SSH的python脚本完全相同的问题,并从apache调用.它从命令行运行良好但在apache中从PHP调用时失败并出现权限错误.使用这个脚本只是一个测试; python不会在最终解决方案中使用.
那么,为什么SSH在apache之外工作但不在内部?我已经使用su从命令行运行PHP代码作为apache,这也有效,因此它不是用户权限问题.
更新:
AAaarrrggh!被SELinux再次咬伤.这个页面有解决方案:
php run git got “ssh Permission denied”
答案是:
setsebool -P httpd_can_network_connect=1
基本上,apache无权启动网络连接!?!?
我忽略了提到这是在CentOS系统上,因此在SELinux的监视下,我的错误.
解决方法:
答案是:
setsebool -P httpd_can_network_connect=1
基本上,apache无权启动网络连接
内容总结
以上是互联网集市为您收集整理的php – 无法从Apache内部与Net_SSH2连接全部内容,希望文章能够帮你解决php – 无法从Apache内部与Net_SSH2连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。