Zadejte hledaný výraz...

Jak zajistit aby se php nedalo spustit pres sebe

jojo mám.
6. 9. 2012 23:37:00
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805359
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
6. 9. 2012 23:37:55
Napsal Re4DeR;841587
jojo mám.
tak pošli kde to testuješ :)
http://pas.jabko.net/unikat.php je u mě
6. 9. 2012 23:37:55
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805358
ale je pravda ze databazi je to spatne pac je to moc trvale - kdyz treba spadne server v prubehu tak jsem v haji. nejaky temp file je lepsi reseni
6. 9. 2012 23:38:47
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805357
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
6. 9. 2012 23:42:01
Napsal Re4DeR;841589
ale je pravda ze databazi je to spatne pac je to moc trvale - kdyz treba spadne server v prubehu tak jsem v haji. nejaky temp file je lepsi reseni
může spadnout www server :)
určitě soubor je lepší řešení...
funguje ti ten tvůj skript na mým hostingu?
6. 9. 2012 23:42:01
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805356
Robert
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 23:42:14
A jsi si jistý, že skript opravdu běží? Třeba Firefox čeká, pokud se jedná o stejnou URL, až se stránka v jednom tabu načte. Až po načtení pokračuje další tab.
Chrome tohle netrápí, protože ten má pro každý tab vlastní proces.
6. 9. 2012 23:42:14
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805355
czechboy: u tebe mi to funguje stejne jako u me
rskr: nejspis nebezi, musim vykoumat. ale v chrome ve dvouch tabech se to prave tvari ze to bezi. v chrome + ff to napise ze nebezi a nazdar.
6. 9. 2012 23:46:56
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805354
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
6. 9. 2012 23:50:11
zajmavý..
já to pustim ve FF, nechám to běžet, přepnu do opery a ta mi napíše že to už běží ...
chrome+chrom anonym taky napíše že běží
6. 9. 2012 23:50:11
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805353
jj jenze já mel chrome + chrome. no anonym :-/
6. 9. 2012 23:53:06
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805352
Robert
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 23:55:02
Beru zpět, Chrome taky čeká :)
6. 9. 2012 23:55:02
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805351
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
6. 9. 2012 23:56:52
mno nečeká, mě to pustí dvakrát..
tohle by mě zajmalo jestli někdo vyřeší :)
6. 9. 2012 23:56:52
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805350
Robert
verified
rating uzivatele
(8 hodnocení)
7. 9. 2012 00:16:37
Ve stejný čas? Když ten script pustím 10x v 10 tabech, tak nakonec jedou všechny, ale nikdy ve stejný čas. První se vyřízuje požadavek z 1. tabu (script jede); ostatní taby čekají (prohlížeč nepošle ani požadavek). Po skončení 1. tabu se rozjede 2. tab. V tu chvíli script spuštěný z 1. tabu už doběhl a nic nebrání vykonat script na základě požadavku z 2. tabu. Atd.
V Chrome i FF.
7. 9. 2012 00:16:37
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805349
takatom
verified
rating uzivatele
(2 hodnocení)
7. 9. 2012 00:32:46
Použijte MySQL funkce get_lock a spol.
7. 9. 2012 00:32:46
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805348
je to tak jak rika RSKR - akorat se chrome tvari jako ze stranku nacita ( mohl by spustit script) ale jen mystifikuje
---------- Příspěvek doplněn 07.09.2012 v 00:49 ----------
Napsal takatom;841612
Použijte MySQL funkce get_lock a spol.
zajimave - rozumis dtb nejak vic? co jsem koukal v profilu tak jo. prave ze se o nejakou optimalizaci dtb snazim
---------- Příspěvek doplněn 07.09.2012 v 10:34 ----------
Tak nejlepsi se mi zdá toto:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (false === $socket) {
throw new Exception("can't create socket: ".socket_last_error($socket));
}
## set $port to something like 10000
## hide warning, because error will be checked manually
if (false === @socket_bind($socket, '127.0.0.1', $port)) {
## some instanse of the script is running
return false;
} else {
## let's do your job
return $socket;
}
http://stackoverflow.com/questions/1861321/how-to-prevent-multiples-instances-of-a-script
7. 9. 2012 00:42:44
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805347
Narazili jste taky na omezení Apache, kde máte nastaveno že pro jednoho klienta může být jen jedno otevřené spojení. Proto když otevřete v prohlížeči dvě stránky naráz, provedou se obě, jelikož jedou sériově. Pokud otevřete třeba v Chrome anonymní okno a normální, nebo okno z jiného prohlížeče, pak jedou paralerně, jelikož to Apache bere jako jiného klienta.
7. 9. 2012 11:24:14
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805346
petrx
verified
rating uzivatele
(8 hodnocení)
19. 12. 2012 15:15:49
Řeším stejný problém ve vlákně
http://webtrh.cz/206197-zajistit-dany-okamzik-pracoval-dany
Chtěl bych na to jít přes zamykání souborů:
Na rozdíl od svého vývojáře neprogramuji v PHP, ale našel jsem si v dokumentaci funkci flock():
http://php.net/manual/en/function.flock.php
Chtěl bych se zeptat, zda by mělo smysl napsat v PHP napsali následující, resp. jestli jsem na něco nezapomněl:
$fp = fopen("/tmp/lock.txt", "r+");
while (!(flock($fp, LOCK_EX))):
sleep (1);
endwhile;
(následuje zbytek skriptu)
(soubor asi nezavírat, během činnosti skriptu musí zůstat otevřený a po skončení skriptu se AFAIK zavře sám)
19. 12. 2012 15:15:49
https://webtrh.cz/diskuse/jak-zajistit-aby-se-php-nedalo-spustit-pres-sebe/strana/2#reply805345
Pro odpověď se přihlašte.
Přihlásit