/ / Dziwne zachowanie: Apache PHP Windows z FSockopen - php, windows, apache, fsockopen

Dziwne zachowanie: Apache PHP Windows z FSockopen - php, windows, apache, fsockopen

Rozważ ten prosty kod:

 <?php
error_reporting(E_ALL);
//error_reporting(E_STRICT);
date_default_timezone_set("Asia/Calcutta");
$smtp_server = fsockopen("onelocalserver.com", 25, $errno, $errstr, 120);
if(!$smtp_server)
{
// We have an error, do something
echo " Error found! <br>$errno <br>$errstr";
exit;
}
?>

W systemie Windows XP + php5.3.8 + apache 2.2 pojawia się błąd: Ostrzeżenie: fsockopen (): nie można połączyć się z onelocalserver.com:25 (Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia.)

Jednak w tym samym systemie, w którym zainstalowano Apache i PHP, jeśli uruchomię php z wiersza polecenia np .: c: phpphp.exe nazwa_pliku.php (gdzie powyższy kod znajduje się w nazwie pliku), wtedy nie otrzymuję błędu!

Serwer onelocalserver.com nasłuchuje na porcie 25: tam działa serwer SMTP.

Jakieś pomysły? To jest naprawdę niesamowite

Z góry dziękuję

Odpowiedzi:

0 dla odpowiedzi № 1

Po kilku próbach z różnymi adresami IPzdałem sobie sprawę, że jedynym problemem był fsockopen na porcie 25. Działa dobrze z interfejsem wiersza poleceń, ale nie działał przez przeglądarkę internetową. PHP był wcześniej instalowany w Windows jako CGI. Myślałem, że zobaczę, czy nadal nie działa działa, gdy jest skonfigurowany jako moduł obsługi Apache i działa! http://www.php.net/manual/en/install.windows.apache2.php .

Mam nadzieję, że to pomoże komuś!