Sziasztok!
Egy webkamera aktuális képét szeretném kirakni egy weboldalra.
Az index.php meghívásakor exec() fügvénnyel hívok egy bash scriptet, ami megcsiálja a képet, majd ezt a képet rakom ki a júzernek.
###A képkészítő fájl (picture.sh)
#!/bin/bash
streamer /dev/video0 -b 16 -o /var/www/redman/webcam/webcam.jpeg
###Az index.php
<?php
exec('picture.sh');
echo 'kacsacsőr img src="webcam.jpeg?',time(),'kacsacsőr"';
###idő hozzáfűzése a böngésző cache elkerülésére
?>
Egy könyvtárban vannak.
A gondom az, hogyha a php-ból hívom meg a scriptet, akkor nem hozza létre a fájlt a könyvtárban.
Ha kézzel futtatom nincs gond.
A könyvtárra worldwritable jog van(pillanatnyilag:)), evvel nem lehet gond.
a system() függvénnyel is próbálkoztam, ugyanaz. Úgy is próbáltam, hogy a scriptben a parancs elé echo-val kiirattam debugszöveget. Az megjelent, a képet nem hozta létre.
Nem tudom mi lehet. Valakinek esetleg valami tipp?
Üdv: redman
- 1238 megtekintés
Hozzászólások
php pistike 4ever!
--
1 leszel vagy 0 élő vagy hulla!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ki irhatnad a homlokodra ezzel a koddal ,hogy looser vagyok :D.De ennyi erovel mar kiirhatnad a root jelszot is a kod melle.
--
1 leszel vagy 0 élő vagy hulla!
- A hozzászóláshoz be kell jelentkezni
Inkább a megoldást mondanád...
Különben is honnan tudod, hogy ez a szerver melyik szerver?
Meghívod az index.php-mat? :) Csak tessék.
- A hozzászóláshoz be kell jelentkezni
A galeria.php-t is szabad? ;)
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
gondolom csekkolni kene /dev/video0 persmissionjet is.
- A hozzászóláshoz be kell jelentkezni
Azok is rendben vannak.
- A hozzászóláshoz be kell jelentkezni
php PATH-jaban bennevan a streamer?
- A hozzászóláshoz be kell jelentkezni
tipp:
exec('./picture.sh');
vagy:
a picture.sh-t teljes elérési úttal megadni, illetve a
a scriptben is érdemes a streamer-t teljes path-al megadni.
További tipp:
open_basedir probléma.
Php error log van?
- A hozzászóláshoz be kell jelentkezni
esetleg popen-el futtasd es nezd meg mit ir az STDOUT-ra.
- A hozzászóláshoz be kell jelentkezni
Megvan!
Mégis a /dev/video0 jogaival volt a gond.
Nem gondoltam volna, hogy írás jog is kell hozzá, nem csak olvasás.
Köszönöm az építő jellegű hozzászólásokat!
Üdv: redman
- A hozzászóláshoz be kell jelentkezni
javaslom su - www-data vagy ami alatt fut a php és onnan futtassad le. kiderül minden mi a gondja. javaslom még, hogy teljes eléréssel hívd meg az sh-t.
- A hozzászóláshoz be kell jelentkezni
Hú, öregem, ha megfogadsz egy tanácsot, ezt így sürgősen felejtsd el... Nem is tudom hirtelen felsorolni, mennyi probléma lehet vele (gondolj bele, nemcsak egy user nézi egy időben!!!). Szerintem inkább csináld azt, hogy a háttérben hívogatod a webcam.jpeg generáló scriptet adott időközönként, és a php-ból meg csak hivatkozol rá. Így a fork és a streamelés egyenletes terhelést ad, nem pedig rapszódikusat, és garantáltan egyszerre egy process fogja írni a webcam.jpeg-et.
Szerk: és nem utolsó sorban így nem kell plusz jogokat adnod a www-data usernek.
- A hozzászóláshoz be kell jelentkezni
Az egészet csupán kisérletezésnek szántam, magamnak, figyelni az otthoni környezetet távolról. Nem kívánom a nagyközönség elé tárni. Arra már tényleg IP kamera kéne.
De azért köszi a figyelmeztetést!
- A hozzászóláshoz be kell jelentkezni