abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 10:20 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje bitmapovým (rastrovým) grafickým editorům ve Fedoře. V prvním dílu se věnuje editorům MyPaint, MtPaint, Pinta, XPaint, Krita a GIMP. V pokračování pak editorům GNU Paint (gpaint), GrafX2, KolourPaint, KIconEdit a Tux Paint.

Ladislav Hagara | Komentářů: 0
včera 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
včera 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 6
15.1. 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
15.1. 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 8
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 36
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 301 hlasů
 Komentářů: 24, poslední dnes 10:14
    Rozcestník
    Reklama

    Dotaz: PHP - volání skriptu na pozadí

    21.5.2014 22:18 Pavel | skóre: 17
    PHP - volání skriptu na pozadí
    Přečteno: 635×
    Zdravím, ve webové aplikaci zobrazuji několik grafů tvořených v jpgraph. Pro jeden graf načítam v průměru cca 3000 záznamů, které dále zprůměruji a zobrazím. Generace takového grafu trvá cca 100 ms. Protože nechci grafy generovat stále, ale jen když je nějaký uživatel připojen, generační příkaz volam v cronu, který pracuje s DB kde je uložen čas posledního přístupu.

    Ve výsledku to vypadá takto: Uživatel přijde na web na hlavní stránku a do DB se zapíše čas přístupu. Nejdéle do minuty cron vygeneruje grafy a pokud se uživatel přepne na záložku grafy, vidí je normálně. Pokud ještě nebyli vygenerovaný, vygeneruju ji je (cca 1 vteřina) a zobrazím.

    A nyní přichází dotaz, lze udělat aby se při prvním přístupu zavolal script, který by se zavolal z php, a vykonal na pozadí tak, aby na něj aplikace nečekala? Pak bych již zase grafy dále dělal přes cron, ale odpadnul by ten problém, kdy uživatel přijde na web a hned si nechá zobrazit grafy. Nebránim se jinému řešení, jen generaci přes jpgraph bych nechal, vyhovuje mi a zabralo mi to dost času při lazení. Návštěvnost webu odhaduji na desítky denně. Omlouvám se za takto rozsáhlý dotaz.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Pavel (tazatel))
    mika-talvinen avatar 22.5.2014 07:32 mika-talvinen | skóre: 23 | Plzeň
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Tady jsem našel tohle:
    function execInBackground($cmd) { 
        if (substr(php_uname(), 0, 7) == "Windows"){ 
            pclose(popen("start /B ". $cmd, "r"));  
        } 
        else { 
            exec($cmd . " > /dev/null &");   
        } 
    } 
    
    $cmd se provede na pozadí a php na něj podle všeho nečeká.
    22.5.2014 10:11 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Díky, tedy pokud to chápu správně, stačí na unixu vykonat jen
    exec($cmd . " > /dev/null &"); 
    mika-talvinen avatar 22.5.2014 10:35 mika-talvinen | skóre: 23 | Plzeň
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Přesně tak. Na pozadí to odsune právě ten & na konci.
    rADOn avatar 22.5.2014 14:24 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Jasně, když spawnování procesu pod apačem není dost velká prasárna, strčíme do toho ještě subshell. Za takovýhle dobrý rady by se měl dávat zákaz programování :-)

    To je takovej hroznej problém dát na tu první stránku něco co kopne do serveru že se má probudit? Stačil by jednopixelovej obrázek. Nebo, když už jste banda líná, tam prostě prdnout celou tu stránku s grafama v neviditelným iframe.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    mika-talvinen avatar 22.5.2014 18:50 mika-talvinen | skóre: 23 | Plzeň
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Důležité je, že to tak jde, i když vím, že je to prasárna. Když někdo navrhne lepší řešení, tak je to jen dobře, sám se rád přiučím.
    22.5.2014 19:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    Jen v málo případech, kdy se to tak dělá, je to vůbec třeba (jsem přesvědčený, že tento původní dotaz je toho příkladem ;)) a ve valné většině zbytku to lze řešit jinak. Určitě je lepší pustit něco na pozadí mimo php (démona) nebo spouštět něco na pozadí (cron-em). O propojení se může postarat záznam v DB nebo jednodušeji přes soubor(y) - má to sice svá úskalí, ale toto jich má mnohem více.

    OT: Ještě se tam zapomnělo přesměrovat chybový výstup, je pravdou, že z exec() nevyleze, ale poslat jej do null je slušnost ;-).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.5.2014 21:08 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Udeřil jste hřebíček na hlavičku :)). Není pro mě špatné volat shell z php, cronem spouštět program v PHP, atd. Samozřejmě, že si dám pozor na všechny možné ošetření, atd. Nicméně dělám to pro sebe, ve volném čase, takže se v té prasárně nikdo jiný orientovat nemusí. I tak, viz dotaz, nebráním se jinému řešení, pokud to nebude extra složité. Vytížení serveru je téměř nulové, takže jakým způsobem sežere můj program je jeho věc. Naopak se snažím navenek tvářit rychle.

    Proto chci mít ty grafy připravené předem. Velmi mě zaujala myšlenka přístupem na stránku spustit program na pozadí, i když nechápu v čem je to lepší, oproti spouštění z cronu. Problém unixu je to, že zkousne téměř vše, jak se má potom BFU učit čeho je lepší se zdržet?
    22.5.2014 21:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    Nevím kolik těch grafů máš, ale pokud je jich 10 a každý 100ms, tak řešení níže je čisté.

    Stránka se načte hned a obrázky/grafy budou doskakovat, ty co už existují se jen zobrazí (není mi jasné jakou platnost dané grafy mají).

    Pokud chci aby se generovali, ještě když nejsou vidět (ihned po přihlášení), tak si o ně řeknu a vložím je do stránky, nastavím width a height na 1 a styl display: none. Nebo jako vyšší level zavolám jen jeden „pesudo_obrazek_gengraph.php“ (opět 1x1px), který grafy vygeneruje, nebo si odešlu požadavek pomocí httprequest z JS.

    Když to uděláš, tak že místo graph.jpg tam bude v tagu img graph.php?htype=typ… tak ti chodí hned a serepetičky s před-generováním už doplníš pak, jestli to bude třeba.

    Taky je můžeš mít ve stránce ihned a jen dělat pomocí css show/hide, nějaké generování na pozadí, či z cron-u se jistě hodí, ale u něčeho výrazně náročnějšího, nebo při vysoké návštěvnosti, kde se servíruje jen statický obsah.

    OT: Když si dělám něco pro sebe, tak to právě dělám tak aby to bylo v daný okamžik „co nejlepší“, bo se něco naučím a nikdo mně nijak nelimituje…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.5.2014 22:17 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Grafů mam na stránce 8, a takto je 7 stran. První strana je vygenerována za cca 200ms, ale poslední trvá více jak vteřinu. Platnost je od minuty až po pět minut. Příklad dole moc nechápu. Grafy vygeruji do tmp souboru a teprve pak zobrazím.

    Taky je můžeš mít ve stránce ihned a jen dělat pomocí css show/hide ...

    Takže tim chceš říct, pokud dam na stránku na konec nějaké skryté obrázky, je to čistší řešení, než když je budu generovat na pozadí? Když třeba 2 vteřiny budu danou stránku načítat....
    22.5.2014 23:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    8*7 grafů?

    Nechápu, jak rozumíš na pozadí, z html stránky jsou asynchroně stahovány obrázky, tedy se generují, nezávisle na načítání stránky, pokud je stránka aspoň trochu rozumě napsaná, tak načítání obrázků nemá přímý vliv na její zobrazení a vytváří to de-facto vytváření grafů na pozadí, bez dalšího vytvřání dalších procesů a používání nebezpečných fcí jako exec….

    Začni takto (pro každý přístup se vygenerují nové grafy - žádný soubor, nic předem):

    Toto je fragment stránky (se dvěma grafy):

    <?php
    $time=time();
    ?>
    <div>
    <h3>Graf číslo 1</h3>
    <img href="getpgraph.php?htype=1&amp;hw=100&amp;hh=100&amp;htime=<?php echo $time; ?>" title="Graph 1" alt="Graph 1" width="100" height="100" />
    </div>
    <div>
    

    Graf číslo 2

    <img href="getpgraph.php?htype=2&amp;hw=100&amp;hh=100&amp;htime=<?php echo $time; ?>" title="Graph 2" alt="Graph 2" width="100" height="100" /> <div>

    A toto je script 'getpgraph.php' vracející obrázek/graf:

     
    <?php
    //potlačení nechtěného výstupu
    @error_reporting(E_ERROR);
    @ini_set('display_errors', 'Off');
     
    @require_once 'gengraph.php';
    //rozměry obrázku/grafu, bez ošetření platného rozsahu hodnot
    //rozsah ošetřuje fce gengraph_to_stdout
    $width=isset($_GET['hw'])?(int)$_GET['hw']:0;
    $height=isset($_GET['hh'])?(int)$_GET['hh']:0;
    
    //hlavička: posílám jpeg 
    header('Content-Type: image/png');
    if(isset($_GET['htype'])){
      $type=(int) $_GET['htype'];
    }else{
      //return error image
      readfile('error.png');  
      exit;
    }
    /* 
     * funkce generující graf typu $type a a rozměrech $width × $height
     * a vypysující ho na std out pomocí imagepng($image).
     * Obsah funkce někde už máš dle: 'jen generaci přes jpgraph bych nechal'
     */ 
    gengraph_to_stdout($type,$width,$height);
    exit;
     
    

    Ukázky jsem netestoval, ale pokud se míjíme, tak jedná se obdobu (funkčního) tohoto jen s rozdílem, že tady se nezabývám tím kreslením, jen volám fci, kterou už někde (uvedeno v gengraph.php) máš a jmenuje se gengraph_to_stdout.
    Nevím čemu nerozumíš…

    Pak si upravíš obsah a vytvoříš diskovou cache, graf pokud neexistuje, vytvoříš, uložíš a pošleš, pokud existuje jen pošleš. A apk si generování můžeš zavolat, kdy chceš a při opravdovém užití už budou nachystané (nebo vyprší jejich platnost a vygenerují se nové).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    rADOn avatar 23.5.2014 15:04 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    …Není pro mě špatné volat shell z php, cronem spouštět program v PHP, atd. Samozřejmě, že si dám pozor na všechny možné ošetření, atd…
    Ach ta blažená nevědomost. Myslíš že zkušenější lidi co ti tady radí to nedělat to ošetřit neumí?
    …Velmi mě zaujala myšlenka přístupem na stránku spustit program na pozadí, i když nechápu v čem je to lepší, oproti spouštění z cronu…
    Oproti cronu v ničem, spíš naopak. Cron je na tohle správný nástroj, ale je to velice odlišné prostředí od http démona pod kterým php normálně běhá. Navíc php jako jazyk na tohle hrubě není stavěné takže psát v něm cronjoby bych po nikom nechtěl ani za trest. Ťuknout přes síť do skriptu (třeba i wgetem z cronu :-) ) je technicky komplikovanější, ale je to něco co průměrný php bastlič umí udělat.
    Problém unixu je to, že zkousne téměř vše, jak se má potom BFU učit čeho je lepší se zdržet?
    Uvědom si že v systému kterej je čtyřicet let starej platí že cokoliv řešíš už řešil milion lidí před tebou. To je studnice znalostí všeobecně, ale hlavní poučení z toho je, že když tě napadne jak to dělat "líp" než ti pitomci předchozího půl století, tak to obvykle znamená že ti pitomci věděli něco co ty ne. Například, že neprůstřelně zaescapovat vstup do shellu se daleko snáz řekne než udělá :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    22.5.2014 15:44 Sten
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Jednak je to velmi nebezpečné, je potřeba dát velký pozor, aby $cmd neobsahovalo nic, co zadal uživatel a nebylo ošetřeno escapeshellarg (escapeshellcmd ne, spouštět skript, jehož cestu zadal uživatel, je o hubu tak jako tak), a druhak to nefunguje v safe módu.
    22.5.2014 13:40 OldFrog {Ondra Nemecek} | skóre: 25 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Další možnost je skript spustit normálně http requestem přímo z php. Hodí se pokud není možné volat exec a je to asi i čistší řešení. Nakonec se dají použít i vlákna (pthreads), ale nevím jak dobře to v php funguje a je to asi moc overkill.

    To spuštění skriptu pomocí http by mohlo vypadat takto - asi by bylo potřeba vyřešit, aby se ta úloha nemohla spustit podruhé pokud už jednou běží (synchronizace jednoduše třeba zámkovým souborem):
    /* background script (b.php):  */
    
    $logfile = "logging/b.log";
    
    print("Starting background job with logfile " . $logfile . " ...");
    
    @file_put_contents($logfile, "job " . getmypid() . " started...\n", FILE_APPEND | LOCK_EX);
    
    ob_flush();
    flush();
    ignore_user_abort(true);
    set_time_limit(0);
    
    /* som usefull background work :-) */
    
    $i = 0;
    while($i++ <= 30) {
        sleep(1);
    }
    
    @file_put_contents($logfile, "job " . getmypid() ." finished...\n", FILE_APPEND | LOCK_EX);                                                                  
    
    /* :background script */
    
    /* foreground script (f.php): */
    
    $options = array("http" => array("method"  => "GET","timeout" => 0.1));
    $context = stream_context_create($options);
    
    $bgmsg = file_get_contents("http://domain.cz/b.php", false, $context);
    
    if($bgmsg === FALSE){
        print("Bg job cannot be started...");                                                                                                                    
    } else {
        print("Bg job was started, message: " . $bgmsg);
    }
    
    /* :foreground script */
    
    -- OldFrog
    22.5.2014 15:21 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    Určitě bych to řešil tak (při době trvání 100ms), že bych grafy generoval při požadavku na ně a tedy splnil podmínku generování jen při požadavku. A případně následně souborovou cache. Píšu jen tak z hlavy - nezkoušeno a nevím, kde jsem udělal chybu nebo na co zapomněl (určitě lze doplnit některá ošetření vstupů)!

    Prakticky ve stránce (time() je tam pro unikátnost url a vřazení cache-ování a lze použít jako čas vzniku požadavku.):
    <img href="getpgraph.php?htype=1&amp;hw=100&amp;hh=100&amp;htime=<?php time(); ?>" title="Graph 1" alt="Graph 1" width="100" height="100" />
    
    getpgraph.php:
    <?php
    @error_reporting(E_ERROR);
    @ini_set('display_errors', 'Off');
    
    //rozsah ošetřuje fce při použití
    $width=isset($_GET['hw'])?(int)$_GET['hw']:0;
    $height=isset($_GET['hh'])?(int)$_GET['hh']:0;
    
    header('Content-Type: image/jpeg');
    if(isset($_GET['htype'])){
      $type=(int) $_GET['htype'];
    }else{
      readfile('error.jpg');  
      exit;
    }
    
    @gengraph($type,$width,$height);
    readfile('generated.jpg');
    // #OR
    // echo gengraph_as_string($type,$width,$height);
    // #OR
    // gengraph_to_stdout($type,$width,$height); 
    exit;
    
    
    s diskovou cache:
    <?php
    @error_reporting(E_ERROR);
    @ini_set('display_errors', 'Off');
    
    //rozsah ošetřuje fce při použití
    $width=isset($_GET['hw'])?(int)$_GET['hw']:0;
    $height=isset($_GET['hh'])?(int)$_GET['hh']:0;
    
    header('Content-Type: image/jpeg');
    if(isset($_GET['htype'])){
      $type=(int) $_GET['htype'];
    }else{
      readfile('error.jpg');  
      exit;
    }
    
    $old_time = 1800;//smaž starší 1/2hodky, dle času vytvoření souboru!
    @delete_old_files($old_time);//nebo||a mazat z venku přes cron
    //Pokud danný graf neexistuje
    // funkce vygeneruje soubor dle pramatrů a dle času a vrátí jeho uid
    //Nebo vrátí jen jeho uid/file_name (MD5/SHA1 z data-času a parametrů)
    //POZOR: fce, by měla generovat graf to svého jedinečného tmp souboru
    //        a následně provést rename($tmp_name,"${uid_of_graph}.jpg");
    //          tmp_name a uid_of_graph.jpg by měli být na jednom souborovém systému
    $uid_of_graph=gengraph($type,$width,$height);
    readfile("${uid_of_graph}.jpg");
    exit;
    
    
    Pokud máš obavu o zdroje díky velkému počtu přístupů, lze to různě generovat přes frontu přes DB, omezit počet přístupů nebo vracet obrázek informující o přetížení (samozřejmně jen pokud by neexistoval požadovaný graf).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.5.2014 15:48 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Malá chybka a jak to mění význam: :-)
    s/vřazení cache-ování/vyřazení cache-ování/
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 23.5.2014 00:52 Josef Kufner | skóre: 66
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    S tím zavináčem to tolik nepřeháněj. Ani jeden z těch, co tam máš, není potřeba.

    Jinak toto je asi nejlepší řešení. Ty orgie s exec() nejsou vůbec dobrá cesta.
    Hello world ! Segmentation fault (core dumped)
    23.5.2014 12:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Žiji (možná v mylné) v iluzi, že chcíplá ryba ničemu nevadí a nic nezatěžuje, a proto radši ho tam dám, pokud generuji obrázky/stream-y, protože ty náhodné případné vygenerované výstupy mají fatální následky.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    23.5.2014 13:15 Sten
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Na produkčním serveru nemá výpis chyb do stránky co dělat (od toho jsou logy) a na testovacím je jen dobře, pokud to obrázek zničí, alespoň je problém hned vidět.
    23.5.2014 14:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    S prvním souhlasím (s druhým ne zcela :)), ale pokud píšu takové ukázky nebo i fragmenty, rozhodně to tam doplním (myšleno ini_set()) - bo se s tím bude někdo pak trápit.

    A určitě takovouto věc neopřu jen o sys nastavení v produkčním serveru, myslím si, že kdy nesmí dojít k dalšímu výstupu je slušné a lepší si o to explicitně říct.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 23.5.2014 13:58 Josef Kufner | skóre: 66
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Vadí. Schovává chyby a pak ti to nefunguje a nevíš proč. Chyby mají být nasměrovány do logu a pak zavináč není potřeba skoro nikdy.
    Hello world ! Segmentation fault (core dumped)
    23.5.2014 14:08 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí

    Tak to mám špatný přístup :), bo obrázky a stream-y důkladně ladím/testuji s plným zobrazováním chyb a pak to všechno zakážu…, asi díky tomu, že ne nad každým serverem vládnu a nemůžu ho nastavit, a pokud tam výpis (třeba časem vzniklé „deprecated“) obrázek není - áno správně je takovou situaci řešit, ale…

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 23.5.2014 22:56 Josef Kufner | skóre: 66
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Nasměrovat logování do souboru můžeš úplně všude a úplně všude bys to měl mít jako první věc ve scriptu (možná druhou, pokud ta první bude načtení konfiguráku s názvem logovacího souboru).
    Hello world ! Segmentation fault (core dumped)
    24.5.2014 11:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - volání skriptu na pozadí
    Řeším to dvou-úrovňově, před konfigurákem a pak třídou, která může aktivovat ještě výrazně širší logování, než jen PHP, jako je například logováné všech SQL dotazů (v více úrovních), či zklamání checker-ů (server-side kontrola vstupů) apod.
    Dej mi víc, ať vím, co můžu zapnout na každém serveru. :).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.