为便于解释,请紧记以下提示。
Machine 1 Internal = 127.0.0.1
Machine 1 External = 192.0.0.1
Machine 2 Internal = 127.0.0.2
Machime 2 External = 192.0.0.2
Client External = 10.0.0.1
因此,在机器#1上,我将尝试连接到机器#1的内部IP:
$server = "127.0.0.1";
$conn = ssh2_connect($server, 22);
[/ var / log / httpd / error_log]中的结果:
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 127.0.0.1 on port 22 in /var/www/html/file.php on line 8
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 127.0.0.1 in /var/www/html/file.php on line 8
将IP从内部更改为外部会产生相同的错误。
现在,当PHP文件从2号机的网络服务器上运行时,我将尝试连接至1号机的外部IP:
$server = "192.0.0.1"
$conn = ssh2_connect($server);
[/ var / log / httpd / error_log]中的结果:
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 192.0.0.1 on port 22 in /var/www/html/file.php on line 8
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 192.0.0.1 in /var/www/html/file.php on line 8
所有情况都是如此,但奇怪的是,如果我通过php -a
解释器运行确切的代码,并继续进行身份验证和运行命令,那么所有操作都将完美地完成。
出了什么问题?
答案 0 :(得分:0)
我能够使用setenforce 0
解决此问题。
老实说,我在编程时遇到的最令人困惑的问题。感谢您的帮助!