
Telnet v PHP: Connect failed: Unknown host
Ahoj,
používám telnetovskou knihovnu pro PHP.
Veškerý kód je k nahlédnutí tady (knihovna i kód)
Jednoduše mám nějakou IP adresu a port (2323):
<?php
require_once "PHPTelnet.php";
$telnet = new PHPTelnet();
// if the first argument to Connect is blank,
// PHPTelnet will connect to the local host via 127.0.0.1
$result = $telnet->Connect('xxx.xxx.xxx.xxx:2323','Jmeno','heslo');
if ($result == 0) {
$telnet->DoCommand('AT&T', $result);
// NOTE: $result may contain newlines
echo $result;
// say Disconnect(0); to break the connection without explicitly logging out
$telnet->Disconnect();
}
?>
Kód jsem testoval na locale i na živém serveru a vždycky pokus o připojení padne na:
[PHP Telnet] Connect failed: Unknown host
Přitom přes putty mi to chodí skvěle, jako z praku.
Nemůže být i problém v tom, že PHP skript běží z HTTPS zabezpečené verze?
Díky za jakoukoliv radu, která mě posune.
Možné příčiny a jejich řešení na webu autora knihovny jsi četl?
https://www.geckotribe.com/php-telnet/errors/unknown-host.php
Ano, tento odkaz se mi zobrazuje v té hlášce.
Ale abych pravdu řekl, nejsem z něj moudrý.
V zásadě to vidím tak, že buďto mám špatně nastavené něco ve skriptu PHP
a nebo něco nehraje v konfiguraci PHP serveru na hostingu.....
Tak zvláštní.
Upravil jsem v knihovně telnetu řádek 58 na:
if ($this->fp=fsockopen($ip,2323)) // doplněn správný port
A tentokráte to hlásí hlášku:
[PHP Telnet] Connect failed: Login failed
Což je částečný úspěch.
Nicméně Login údaje jsou zcela určitě v pořádku.
Stejné jako u putty.
No ty vole.... vyřešeno.
Tak on se dokáže připojit, ale failne u zadání ověření.
Takže částečné funkční řešení je mu poslat první dva příkazy:
-login
-password
Tady je něco těžce na prd
Jakýkoliv primitivní dotaz mu trvá cca 70sekund.
To je na mrtvici.
Testoval jsem to na vícero serverech.
Bože Růžo... Bože Růžo....
Je nutno upravit buffer na 8000 pak to trvá cca 8 sekund, to už jde.