Portál AbcLinuxu, 6. května 2025 23:13
Zdravím všechny, po upgradu raspbianu z Jessie na Stretch na mém RPi mám následující problém. K tomu RPi mám připojený Tellstick pro ovládání zásuvek. Ten je řízen utilitou tdtool, která bere konfiguraci z /etc/tellstick.conf
.
Ve /var/www/html/
mám php soubor s tímto obsahem:
shell_exec("tdtool -n zarizeni, $vystup"); print_r($vystup);
Před upgradem systému fungovalo vše v pořádku. Zavolal jsem daný php soubor přes prohlížeč, shell_exec spustil utilitu, provedla co měla, vypsala ok.
Nyní když udělám to samé, utilita se spustí, ale vypíše, že dané zařízení nezná. Utilita se nedostane k tomu konfiguračnímu souboru.
Zajímavé je to, že když se přes su www-data -s /bin/sh
přepnu do uživatele, pod kterým je apache spouštěný a provedu příkaz z php souboru, tedy tdtool -n zarizeni
, normálně to funguje. Problém je jen se spouštěním přes apache.
V čem je rozdíl mezi těmito způsoby? Je potřeba něco změnit v konfiguraci apache nebo php? Práva jsem ověřoval, konfigurák je dostupný i při volání z php skriptu.
Díky za odpovědi.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.