Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Mark 17. 04. 2014, 10:37:57

Název: Výsledek z Bash skriptu do PHP
Přispěvatel: Mark 17. 04. 2014, 10:37:57
Ahoj, když v php zavolám bash script, který vypíše ten bash script pomocí echo výsledek, tak ho v php stejně nevidím. Neporadí někdo?

soubor index.php
Kód: [Vybrat]
<?php
$output 
shell_exec('my.bash');
echo 
"<pre>$output</pre>";
?>

soubor my.bash

Kód: [Vybrat]
#!/bin/bash
echo "něco";

Díky moc.
Název: Re:Jak dostat výsledek z bash scriptu do php
Přispěvatel: v2kt0r 17. 04. 2014, 11:01:01
Je možné, že tvé systémové volání skončí chybou? Třeba nesedí cesta?
Zkus místo shell_exec() jen exec(), ten ti vrátí návratovou hodnotu. Nebo ten skript zkus nechat psát někam do souboru - prostě se ujistit, že se vůbec provede.
http://www.php.net/manual/en/function.shell-exec.php
Název: Re:Jak dostat výsledek z bash scriptu do php
Přispěvatel: m 17. 04. 2014, 11:37:44
Nemáš tam SELINUX?
Název: Re:Výsledek z Bash skriptu do PHP
Přispěvatel: Gandalf 17. 04. 2014, 12:47:34
exec funkce byvaji z bezpecnostnich duvodu obvykle zakazany. Zpusobu zakazani je vice, od zakazu funkce exec v php.ini, pres extenze php az po systemove zakazy spousteni skriptu urcitymi uzivateli  ci z urcitych disku.
Název: Re:Výsledek z Bash skriptu do PHP
Přispěvatel: Sten 17. 04. 2014, 15:20:04
Moje tipy:

Ještě malá poznámka: shell_exec je asi ta nejblbější funkce, co na to jde použít, protože pokud se něco stane špatně, nejde nijak zjistit, co to bylo. Doporučuji se spouštění skriptů z PHP úplně vyhnout, a pokud to opravdu opravdu nejde, tak používat exec.
Název: Re:Výsledek z Bash skriptu do PHP
Přispěvatel: Mark 17. 04. 2014, 19:33:28
Chlapy všem velké díky za snahu pomoci. problém byl docela jiný, raději bych ho tady ani snad nezveřejňoval ale udělám to. Soubor s basj kódem jsem měl na jiném serveru než ten se scriptem php. Hold stane se. Mám ještě jeden dotaz, ale založím jiné vlákno ať je to přehledné. Ještě jednou velké díky všem...