[PHP] fgets op een fsockopen met IIS

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Topicstarter
Geachte medegotters,

Ik praat via PHP met een SMTP server. Hierbij lees ik ook de replies uit van de SMTP server. Dit werkt ok met apache met het fgets($fp) commando. Met IIS gaat het fout. Hieronder de code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//...
         $fp = @fsockopen(SMTP_SERVER, SMTP_SERVERPORT, $a, $b, SMTP_TIMEOUT);

      if(!$fp)
         return 0;
      
      $tmp = fgets($fp);
      if($debug)
         echo "< ".$tmp."<br>";
      
      if(substr($tmp, 0, 3) == '221')
         return 0;
      
      fputs($fp, "HELO MijnNaam\n");
      if($debug)
      {
         echo "> HELO MijnNaam<br>";
         echo "< ".fgets($fp)."<br>";
//...


Hij hangt op de laatste regel. Hij kan dus niet lezen. Is dit een onontdekte bug in PHP icm IIS? Heeft iemand een workaround?

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Haal die @ eerst eens weg voor de fsockopen en zet error_reporting op E_ALL.

Ik zou alles willen weten wat er mis kan gaan VOOR een error als ik iets dergelijks tegenkwam.

[ Voor 14% gewijzigd door Cavorka op 11-10-2003 15:03 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Topicstarter
Die connect gaat goed, daar krijg ik wel reply van en kan ik ook uitlezen :s

(ik doe 2 fgets() calls, die eerste gaat goed...)

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Edit: *GEBLAAT van mijn kant

Dus: het moet zitten in de fputs denk ik... haal die regel eens weg. Lukt het dan wel?

Edit 2: I know, sorry.

Edit 3: Ja okay, maar gaat het wel goed als je niet de fputs uitvoert, en dus $fp gelijk houdt als in het begin?

PS: Pardon the chaotische edit/reply sequentie.

[ Voor 247% gewijzigd door Cavorka op 11-10-2003 15:17 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Topicstarter
r2: ik connect
r8: ik lees de connect reply uit
r14: ik stuur HELO commando
r18: ik lees de HELO reply uit

/edit: inderdaad

DUS: de fputs gaat goed... zie ik in de log van de server. Hij kan gewoon niet uitlezen... Is dit een bug met IIS? Of is er een workaround?

De code werkt namelijk op Apache.

[ Voor 62% gewijzigd door Jurgle op 11-10-2003 15:11 ]

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Topicstarter
Sorry... het lag toch aan de fputs()

Irritante IIS eist dat zo'n fputs() eindigt op "\r\n" ipv alleen "\n" (wat bij apache al genoeg is).

Voor mensen met hetzelfde probleem "\n\r" werkt ook niet het MOET echt "\r\n" zijn...

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

:D Jeeeuuuj. Had dus toch gelijk. ;)

[ Voor 50% gewijzigd door Cavorka op 11-10-2003 15:34 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.

Pagina: 1