[PHP/resource] ftp connectie openhouden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

Topicstarter
Ik was vorige week even snel de ftp functie's van php aan het doornemen.

Het ziet er allemaal mooi uit dus ben ik maar even aan de slag gegaan om een ftp class te schrijven. Alles zou op zich goed werken maar omwille van de php garbage collection (het tellen van references) sluit hij zelf de ftp connectie, of is het iig niet meer terug op te vragen.

Wat ik hoopte was dus een "var $ftpconn;" die "wakker" zou blijven tot ik de ftp_quit() zou aanroepen, wat ik eigenlijk ook verwachte vanop: http://www.php.net/manual/en/resource.php waar ftp_quit() als destroyer voor de ftp resource werd aangeduid.

Mijn vraag is dus simpel, is er een manier om die connectie te hergebruiken zonder lelijke reconnect oid te gebruiken.

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

Ik zou niet weten waarom PHP die verbinding zou sluiten, als jij er nog references naar hebt. Volgens mij zoek jij eerder naar het NOOP commando.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

Topicstarter
Er is nog een reference naar in een session variable, dus niet in het php script zelf.

Het gaat dus niet om de timeout naar de ftp server zelf. Om de reference echt te houden hebbek al wat met frames geprutst maar dat bleek niet echt effectief (infinite loop met sleep() in ed).

Het gaat dus echt om php die de connectie afsluit zonder dat ik ftp_quit() aanroep.

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

Verwijderd

is het niet zo dat jouw ftp server de connection na een bepaalde tijd (bijv 300 seconden) inactiviteit dichtgooit????

misschien zou je dan elke keer even een list command oid uit moeten voeren.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

Dat gaat dus nooit lukken, aangezien PHP geen persistent connections voor FTP kent. Zou ook wel te bizar zijn...

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

Topicstarter
De inactieviteit met de ftp server is _niet_ het probleem.

het is php die de variable niet meer als resource ziet wanneer ik de klas opnieuw oproep.

edit:

mja bizar, het zou enorm handig zijn, en veel efficienter toelaten de ftp connectie te gebruiken.

Zoiezo heeft de ftp_connect een timeout parameter die ervoor gebruikt kan worden om afgesloten te worden.


Update:
Hier zegt ook iemand dat hij met fsockopen() enkel de connectie moest sluiten met fclose() en dat die persistent reageerde, ik kijk er thuis nog wel eens naar dan.

[ Voor 63% gewijzigd door Apache op 13-01-2003 15:57 ]

If it ain't broken it doesn't have enough features

Pagina: 1