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í
×
    včera 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1957 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: PHP - Spouštění souborů sh

    28.2.2011 20:47 Libor Kron
    PHP - Spouštění souborů sh
    Přečteno: 435×
    Zdravím.

    V PHP mám řádek

    exec('bash /home/bash/delete.sh');

    ale po spuštění PHP obsah souboru neprovede.. Poradí prosím někdo co je potřeba ještě nastavit? Dík

    Odpovědi

    Jendа avatar 28.2.2011 21:06 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    A co třeba nějakou chybu, tu to vypíše? (aneb nemáš vypnuté vypisování chyb?)
    28.2.2011 21:17 Libor Kron
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Právě že to nevypíše nic, chyby mám zapnuty.

    Dal jsem tam ještě podmínku
    $aaa = exec('bash /home/virt/delete.sh');
    if($aaa){
    echo "povedlo se";
    }else{
    echo "nepovedlo se";
    }
    a vypisuje se "nepovedlo se".. ale chyba právě žádna :(

    prava souboru jsou nastaveny na 0777
    28.2.2011 21:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Zkuste si přečíst co funkce exec() vrací - nakopnout stačí :),
    a pak se ujistěte jestli tam nehcete jen '/home/virt/delete.sh'.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    28.2.2011 21:43 Libor Kron
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Přesně tak, teď jsem to zkusil jen tak, jenže problém je v tom, že ja potřebuji pracovat z adresari mimo dosah www-data. Proto to dělám přes bash. Jenže tak to asi nejde.. Nějaký nápad? Zkoušel jsem

    'sudo /home/virt/delete.sh' i 'su /home/virt/delete.sh' ale nejde to..

    Děkuji
    28.2.2011 22:38 camel1cz | skóre: 25
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Rozhodně je nutné sudo... často také bývá v konfiguraci (sudoers) povoleno sudo jen pro vyjmenované skupiny atd. (www-data tam téměř jistě není)
    28.2.2011 22:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Toš, tak, - co vrací exec() ?, poslední řádek výstupu toho scriptu a pokud je ten prázdný tak je to false.
    Co vypíše něco jako toto:
    $out = '';
    $retval = -1;
    $lastln = exec('/home/virt/delete.sh', $out, $retval);
    echo "Last line: '$lastln' <br />\n";
    echo "Return code: '$retval' <br />\n";
    echo " Out: <br />\n<pre>\n";
    print_r($out);
    echo "</pre>\n";
    
    script se pustí pod www-data (nebo jiným uživatelem na kterého běží apache), a co může on, to může i ten script.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    28.2.2011 22:53 Libor Kron
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Toš vrací to tohle :)
    Last line: '600' 
    Return code: '0' 
    Out: 
    Array
    (
        [0] => 120
        [1] => 600
        [2] => 600
        [3] => 600
    )
    28.2.2011 23:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Toš a?,
    Návratový kód scriptu má být 0?
    Script má vypisovat ta čísla?
    Odpovídá to jako by jste zadal v terminálu:
    libor@mojedelo> /home/virt/delete.sh
    a ono by to vypsalo:
    120
    600
    600
    600
    a echo $? by vypsalo 0
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    28.2.2011 23:51 Libor Kron
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Hm, no v tom scriptu mam jenom na vystupu

    echo "Všechno smazano!"

    ale tohle to nevypisuje kdyz to spustim z CL

    co to je vubec za cisla? Da se z toho vycist co se mu nelibi?

    diky
    1.3.2011 08:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP - Spouštění souborů sh
    Asi nemáte :), nebo to díky tomu, že to běží v jiném prostředí, dělá to „něco“ jiného než chcete.
    Zkuste si tam vložit třeba příkaz 'ls' místo toho scriptu.
    Němu se všechno líbí, script skončil s '0' a to obvykle znamená „v pořádku“.
    TIP: Podívejte se do zdroje stránky, nebo to změňte na:
    $out = '';
    $retval = -1;
    $lastln = exec('/home/bash/delete.sh', $out, $retval);
    echo "Last line: '".htmlspecialchars($lastln)."' <br />\n";
    echo "Return code: '$retval' <br />\n";
    echo " Out: <br />\n<pre>\n";
    var_dump($out);
    echo "</pre>\n";  
    
    (No ale pak si uvědomte, že var_dump() vrací více informací)
    V html nemusíte vždy vidět to, co je ve zdroji stránky, pokud to není ošetřeno…
    Nebo to vyjďte ručně
    $out = '';
    $retval = -1;
    $lastln = exec('/home/bash/delete.sh', $out, $retval);
    echo "Last line: '".htmlspecialchars($lastln)."' <br />\n";
    echo "Return code: '$retval' <br />\n";
    echo " Out: <br />\n<pre>\n";
    foreach ($out as $line)
      echo htmlspecialchars($line) . "<br />";
    echo "</pre>\n";  
    
    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.