2017-02-02 8 views
1

그래서 PHP를 사용하여 웹 페이지를 통해 bash 스크립트를 실행하려고합니다. (관련이있는 경우 나무 딸기 파이에서). 보통 명령은 'ls'와 같이 잘 작동하지만 명령에 따라 Pi에 연결된 웹캠에서 사진을 찍으려고 할 때 : 'fswebcam image.jpg' 전혀 작동하지 않습니다.Bash 스크립트 비록 사진을 찍을 웹 페이지

문제를 확인하는 데 어려움을 겪고 있습니다. 권한과 관련이있을 수 있습니까?

터미널을 통해 직접 사진을 찍는 것이 좋습니다.

편집 :

죄송합니다 처음에이 정보를 포함하지만 모든 것을 웹에서 아주 초보자 해요 ...하지만 내가 아파치를 실행하지만, 사용하지 않는 LEMP 스택 사용하고하지에 대한 Nginx

+0

정교한 작동합니다. 어떤 오류가 발생합니까? ('stderr'을 파일로 리다이렉트 해 보라.)'/ var/log/messages'와 같은 로그에 어떤 것이 있는가? 답을 믿는다면'아파치'라고 쓰고있는 사용자에게'su' 해보고 그걸 실행할 수 있는지 확인하십시오. – eewanco

+0

내일 내가 어떤 오류 메시지를 받았는지 확인해 보겠습니다. – Makoto

+0

[UFW BLOCK] 오류 메시지가/var/log/messages에 있습니다. – Makoto

답변

1

내가 의심하는 바에 따르면 라스베리 파이에있는 하드웨어 사용 권한 문제에 직면 해 있다고 생각됩니다. 주제가 라스베리/하드웨어/리눅스/웹을 혼합 할 때 인터넷에서 많은 쓰레기 솔루션을 읽습니다. 그들은 종종 모든 곳에서 루트 권한을 제공합니다! 귀하의 경우에는

나는 가지, 아파치 로그 파일 (? /var/log/apache2/error.log)이 오류 메시지를 포함 할 것이라고 생각 :

순간 아파치 사용자 (www가 데이터)에 대한
can not access /dev/vchiq 

가 액세스 할 수 없습니다 :

pi$ ls -l /dev/vchiq 
crw-rw---T 1 root video 248, 0 Jan 1 1970 /dev/vchiq 

입력하는 명령 :

sudo usermod -a -G video www-data 
sudo /etc/init.d/apache2 restart 

그것은 즉, 사용자 w ww-data는 (/ dev/vchiq에 액세스 할 수있는) 그룹 비디오에 추가됩니다. 그런 다음 아파치 서버를 다시 시작하여 그룹 파일을 다시 읽고 변경 내용을 알리십시오. 참고 : 웹에서 액세스해야하는 경우 gpio 그룹에 www- 데이터를 추가합니다.

0

PHP는 Apache 사용자 권한으로 실행됩니다.

귀하의 apache 사용자는 fswebcam을 시작할 권한이 있습니까?

ll $(which fswebcam) 
0

내가받은 오류 메시지 (위에서 게시)에서/dev/video0에 다른 사용자의 권한이 필요하다는 것을 알았습니다. 그래서 내 솔루션은 이동하는 것이었다 :

chmod 777 /dev/video0 

그것은 "전혀 작동하지 않습니다"아마 아주 더러운 솔루션입니다하지만에 그럼에도 불구하고

+1

내 대답 참조.ww-data가 비디오 그룹에 들어가면, 그는 접근 할 것이므로,/dev/video에 chmod가 필요 없다. 재부팅시 원래 사용 권한이/dev/video로 복원됩니다. –

+0

당신이 바로 아파치/nginx 날 혼란 스러워요. – Makoto