Autor | Zpráva | ||
---|---|---|---|
hunter_dave Profil |
#1 · Zasláno: 27. 8. 2012, 16:10:22
Zdravím,
už přes půl dne se to snažím nějak vyřešit a nevím si rady. Potřebuju nějak přesměrovat výstup při použití funkce exec() .. $exec = 'start '.$player_url.' "'.$file.'"'; file_put_contents("files/playmusic.bat", $exec); exec(dirname(__FILE__)."/files/playmusic.bat > NULL "); Potřeboval bych, aby php prostě odeslalo signal ke spuštění souboru a dál se o to už nezajímalo. Už sem vážně zoufalý, uvítám každou radu. |
||
hunter_dave Profil |
tak nakonec teda vyreseno .. dost neelegantnim zpusobem .. php spusti VBScript, ktery spusti batch soubor a ten spusti prehravac s hudbou .. ale samozrejme pokud prijdete na lepsi reseni .. rad uvitam :)
|
||
Keeehi Profil |
#3 · Zasláno: 27. 8. 2012, 21:34:12
hunter_dave
Řešením je využít paralelního programování - vytvořit více vláken běžící aplikace. $pid = pcntl_fork(); if ($pid == -1) { die('could not fork'); } else if ($pid === 0) { // we are the child exec("start $player_url \"$file\""); exit; } // we are the parent pcntl_wait($status); //Protect against Zombie children |
||
hunter_dave Profil |
#4 · Zasláno: 28. 8. 2012, 13:33:31
Mám php5 a funkce pcntl_* hlasi neznama funkce .. je potreba je do php doinstalovat nebo nejak povolit?
|
||
Majkl578 Profil |
PCNTL není dostupné pro platformu Windows. Na Unix platformě vyžaduje kompilaci s přepínačem
--enable-pcntl .
|
||
hunter_dave Profil |
#6 · Zasláno: 28. 8. 2012, 13:58:31
Tak to bude ten problem :D mám windows ..
|
||
Keeehi Profil |
#7 · Zasláno: 28. 8. 2012, 13:59:05
Na linuxu by to mělo jít spustit bez forkování jako proces na pozadí prostým přidáním " &" na konec. Na windows snad
start /B program , ale to nemám ozkoušené.
|
||
hunter_dave Profil |
#8 · Zasláno: 28. 8. 2012, 14:12:40
To sem zkousel .. nefungovalo .. a taky mám problém právě s tím, že se program spouští na pozadí, nejde s ním pracovat v normálním uživatelském rozhraní .. jde s ním pracovat pouze jako s procesem .. zkousel jsem nastavit službu apache aby se přihlašovala jako právě přihlášený uživatel ale výsledek byl stejný.
|
||
Majkl578 Profil |
[#7] Keeehi:
Procesy spouštěné pomocí & umírají ve chvíli, kdy zemře proces, který je spustil. Vhodnější by bylo spuštění přes nohup .
|
||
hunter_dave Profil |
A není tu někdo kdo by měl řešení pro windows?
|
||
Časová prodleva: 12 let
|
0