[PHP] Commandline stopt met uitvoeren na exec()

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een applicatie die een aantal HTML pagina's genereert d.m.v. een php generator.
Er is via de commandline een optie om na het genereren de index pagina van de gemaakte HTML files te openen met een parameter. Dit werkt allemaal maar het openen erna zorgt voor een klein probleempje:
Ik open de file met behulp van de PHP functie exec($indexFilePad). Hierna wordt netjes een browser geopend met de file er in, echter, het script stopt er mee tot de browser weer wordt afgesloten.

Op php.net staat:
If you start a program using this function and want to leave it running in the background, you have to make sure that the output of that program is redirected to a file or some other output stream or else PHP will hang until the execution of the program ends.

Dit slaat natuurlijk op mijn probleem, maar ik weet nog steeds niet hoe ik het precies kan omzeilen.
Heeft iemand een idee?

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Ik weet dat je bijv in Pyhton dit kan "omzeilen" door het als aparte daemon te draaien. Dit kan normaal ook in de shell en doe je met een &-teken achter je commando te zetten (Unix).

Volgens mij kan dit in Windows door gebruik te maken van start. Dan krijg je dus iets als
PHP:
1
exec('start '.$indexFilePad)

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Heb je al geprobeertdwat daar staat? Daar staat immers gewoon dat je de output naar een file of andere stream moet sturen. Ik neem aan dat je het > teken wel kent?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mithras, het lijkt er op dat dit ook al werkt. Het stoppen van de file gebeurde immers maar af en toe, en nu, na 20 keer genereren niet meer. Bedankt!

Janoz, ik heb nog nooit een output naar een andere stream geschreven, vandaar waarschijnlijk dat ik het ">" teken niet ken. 8)7