php – 无法从Apache内部与Net_SSH2连接
发布时间:2020-12-13 21:51:47 所属栏目:PHP教程 来源:网络整理
导读:我试图从 PHP SSH,但我收到以下错误: 注意:无法连接到[host].错误13. 第875行/usr/share/php/Net/SSH2.php中的权限被拒绝 这是代码: ?PHPerror_reporting(E_ALL);ini_set('display_errors',TRUE);include_once('Net/SSH2.php');define('NET_SSH2_LOGGING'
我试图从
PHP SSH,但我收到以下错误:
注意:无法连接到[host].错误13. 这是代码: <?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再次咬伤.这个页面有解决方案: 答案是: setsebool -P httpd_can_network_connect=1 基本上,apache无权启动网络连接!?!? 我忽略了提到这是在CentOS系统上,因此在SELinux的监视下,我的错误. 解决方法
答案是:
setsebool -P httpd_can_network_connect=1 基本上,apache无权启动网络连接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |