Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法从Apache内部连接到Net_SSH2_Php_Apache_Ssh_Phpseclib - Fatal编程技术网

Php 无法从Apache内部连接到Net_SSH2

Php 无法从Apache内部连接到Net_SSH2,php,apache,ssh,phpseclib,Php,Apache,Ssh,Phpseclib,我正在尝试从PHP进行SSH,但出现以下错误: 注意:无法连接到[主机]。错误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

我正在尝试从PHP进行SSH,但出现以下错误:

注意:无法连接到[主机]。错误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无权启动网络连接

我忘了提到这是在CentOS系统上,因此在SELinux的密切关注下,我错了。

答案是:

setsebool -P httpd_can_network_connect=1
setsebool -P httpd_can_network_connect=1

基本上,apache无权启动网络连接

aaarrrggh!又被塞利努克斯咬了一口。此页面有一个解决方案:php运行git获得“ssh权限被拒绝”

答案是:

setsebool -P httpd_can_network_connect=1
setsebool -P httpd_can_network_connect=1
setsebool-p httpd_can_network_connect=1

基本上,apache无权启动网络连接


我忘了提到这是在CentOS系统上,因此在SELinux的密切关注下,这是我的错误。

我很困惑。apache是如何参与进来的?您是否在浏览器中键入url,该url会导致此代码?如果web应用程序中的密码更新和“dir”行将替换为发送到active directory服务器的命令,则此代码为部分代码。为什么这个问题。。。为什么apachevs命令行的错误让我感到困惑。我是开发人员,是的,url用于执行代码。这就是为什么你必须自己添加答案,而不仅仅是更新问题:-)