그래서, 나는 nginx와 함께 cgi를 통해 실행되는 PHP 응용 프로그램을 가지고 있습니다. 바코드를 인쇄하는 데 사용되는 .jar 프로그램이 있습니다. 바코드 프린터 (Zebra)!라스베리 파이 PHP에서 php-cgi의 java 프로그램에 exec()
내 PHP 응용 프로그램은 exec() 명령을 사용하여 .jar 프로그램을 실행합니다. 내 컴퓨터 (php, cgi, nginx, 데비안 테스트)에서는 작동합니다.
지금, 나는 같은 것을 시도하고 있지만, 나무 딸기 파이에. 데비안 (wheezy, raspberry version), PHP, cgi, nginx. exec() 명령이 실패하지 않습니다 (큰 오류가 발생하지 않음). 아무 것도 반환하지 않으며 둘 다 성공하지 못합니다.
java 명령은 www 데이터 사용자 (nginx/php-cgi를 실행하는 사용자)를 사용하여 쉘에서 시도 할 때 잘 작동합니다. 내가 www가 데이터 사용자와, PHP가 CLI (CLI하지 CGI) 스크립트에 넣어, 쉘에서 PHP 명령을 실행할 때 작동 :
<?php exec('java -cp /path/ Methode options');?>
$ php print.php
컵 구성이 좋아 보인다 (I (파이 사용자) 인쇄 할 수, www 데이터 사용자는 명령 줄 (셸)을 통해 인쇄 할 수 있습니다, 루트를 인쇄 할 수있는 모든 사람).
혼란스럽고 문제가있는 곳을 찾을 수 없습니다.
있습니다
www-data ALL=NOPASSWD: ALL
지금 당신의 간부 인 문자열을 수정 exec에 여분의'& $ output' 인수를 추가하려고했습니다. 그리고 java 명령어 – tlenss
을 실행 한 후에 내용을 'var_dump'하겠다. 나는 성공했다. – Gnujeremie