J'ai un simple script PHP sur un serveur qui utilise fsockopen pour se connecter à un serveur.php fsockopen
<?php
$fp = fsockopen("smtp.gmail.com", 25, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
echo fgets($fp, 1024);
fclose($fp);
}
?>
Le problème est que le script expire et ne parvient pas à se connecter. Si je change le port de 25 à 80 par exemple cela fonctionne sans problèmes sur n'importe quel hôte. Donc, le problème semble être seulement le port 25, peu importe quel hôte j'utilise, j'ai essayé beaucoup d'entre eux et tout le travail pour le port 80 et d'autres, mais pour 25 échoue.
Les connexions ne sont pas bloquées par un pare-feu, comme si je me connectais telnet à partir d'un shell sur n'importe quel port de n'importe quel hôte.
Une idée de ce qui pourrait être le problème car c'est vraiment bizarre? LE: Si j'exécute le même script php à partir du shell, php scriptname.php cela fonctionne donc seulement quand je l'exécute par http il échoue. Je qu'Apache avec SuPHP si le problème est ici quelque part
Quel système d'exploitation et quel serveur Web utilisez-vous? –
CentOS, Apache2, cPanel – daniels