Zadejte hledaný výraz...

V PHP (či jinak) zavolat více PHP hned po sobě

mH081
verified
rating uzivatele
(1 hodnocení)
21. 11. 2014 11:55:54
Můžete sem ty skripty vložit, nebo je to tajné? :)
21. 11. 2014 11:55:54
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070080
unlucky
verified
rating uzivatele
(16 hodnocení)
21. 11. 2014 12:09:24
jednoduse si udelej novou tabulku v databazi.
cron 1. skript na 2:00.
Druhy a treti skript kazdou minutu.
prvni skript se provede. Az skonci, zapise do dbz done=1
Druhy skript se spusti, zepta se, jestli prvni uz skoncil. Jestli ano, provede se, jestli ne. Nic.
Treti skript jako druhy, akorat se zepta, jestli druhy uz skoncil. Reset data done=0.
21. 11. 2014 12:09:24
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070079
node
verified
rating uzivatele
(5 hodnocení)
21. 11. 2014 13:03:23
Napsal laksdklasd;1142644
Toto je dostatečné řešení. Pokud ale zmiňuješ, že trvání jednoho skriptu může trvat i více než 2 minuty, tak můžeš narazit na PHP limit (maximum executin time). Defaultně to bývá nastavené tak, že pokud se nějaký skript zpracovává déle než 30 sekund, tak je zastaven a vyskočí chyba.
To sa tyka iba UI, ale nie CLI.
21. 11. 2014 13:03:23
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070078
Napsal unlucky;1142735
...
jj imho nej reseni ale prej moc sofistikovany :(.
21. 11. 2014 13:13:39
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070077
mH081
verified
rating uzivatele
(1 hodnocení)
21. 11. 2014 13:18:39
Napsal Re4DeR;1142759
jj imho nej reseni ale prej moc sofistikovany :(.
Sofistikovaný bylo v uvozovkách. Nechápu, proč je nutný dělat další request na httpd, když můžu ty funkce provolat přímo.
Vlákno přestávám sledovat a zakladateli tématu doporučuji si trochu pročíst základy PHP.
21. 11. 2014 13:18:39
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070076
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
21. 11. 2014 13:37:55
Napsal kubiro;1142651
Jak jsem psal, include je jak zkopírování zasebe, tak proč jednoduše nedat před include
$promenna = "to co chci přenést";
Nebo by snad mohlo dokonce i tohle fungovat:
$_GET = "ano";
Ten soubor tu proměnnou bude brát ;)
Pokud neovládáte ani základy PHP, tak si své domněnky alespoň vyzkoušejte. Proměnná ve skriptu, který includuje jiný skript v includovaném skriptu není dostupná, pokud není v includovaném skriptu nastavena jako globální.
Skript spouštěný cronem nemůže mít naplněnou proměnnou $_GET, pokud je skript spouštěn s parametrem, parametr je v proměnné $argv.
---------- Příspěvek doplněn 21.11.2014 v 13:44 ----------
Include není dobré řešení, pravděpodobně vyžaduje úpravu spouštěných skriptů. Více cronů není dobré řešení, je nutné řešit synchronizaci, pravděpodobně vyžaduje úpravu spouštěných skriptů. Řešil bych spuštěním jednoho skriptu cronem, který si sám postupně, v závislosti na výsledku, spustí požadované skripty například pomocí fsockopen, zůstane tak zachována i možnost parametrů čitelných z $_GET, tedy skripty pravděpodobně nebude potřeba upravovat.
21. 11. 2014 13:37:55
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070075
Kovboj
verified
rating uzivatele
(13 hodnocení)
21. 11. 2014 13:45:31
Napsal jirinjirin;1142725
Skripty jsou na jednom serveru, ale co jsem se dozvěděl zde, tak include neumí parametry ... viz mé "include ("../import/import.php?cat=ano");"
Ty jednotlivé skripty jsou pro mě černé skřínky, do kterých toho moc nepřipíšu ...
Šmarjá, to se tu opravdu tak dlouho řeší obyčejný include? :-O
Prostě si udělej
echo "Spouštím aktualizaci ...n";
$cat = "ano";
include ("../import/import1.php");
$cat = "ne";
include ("../import/import2.php");
$cat = "mozna";
include ("../import/import3.php");
?>
Pokud je v těch skriptech něco potencionálně složitého co může způsobit pád nebo vypršení limitu tak si spouštěj přes cron nějaký řídící skriptík a do databáze si zapisuj kdy byl který aktualizační skript spuštěn a kdy dokončen. Pokud uvidíš že skript "1" byl spuštěn a řádně dokončen tak includuj "2", pokud třeba ani po 10 minutách dokončen nebyl tak si buď nech poslat třeba emailem hlášku o chybě nebo nech znova spustit 1.
21. 11. 2014 13:45:31
https://webtrh.cz/diskuse/v-php-ci-jinak-zavolat-vice-php-hned-po-sobe/strana/2#reply1070074
Pro odpověď se přihlašte.
Přihlásit