2011-08-30 3 views
0

도움이 필요합니다. tty를 통해 임베디드 모듈 (ArchLinux)과 통신하기위한 C++ 라이브러리가 있습니다. 이 라이브러리는 swig를 사용하여 PHP로 컴파일/변환되었습니다.TTY, SWIG 및 PHP

이제 PHP로 작성되고 명령 줄에서 실행되는 샘플 프로그램이 예상대로 실행되지만이 코드가 웹 페이지 기능의 일부로 사용될 때 문제가 발생합니다.

나의 제한된 리눅스 지식에 기반한 내 가정은 tty가 실행하기 위해 콘솔을 필요로한다는 것입니다. 왜 콘솔은 웹 페이지의 일부로 실행되지 않는 것입니까?

아무에게도 어떻게 작동시킬 수있는 아이디어가 있습니까? 나는 posix_ttyname을 사용하는 방법에 대해 읽었지만 사용법을 보여주는 코드 샘플을 찾지 못하는 것 같습니다.

나는 검토를 위해 작동하는 테스트 main.php와 함께 문제가되는 C++ 파일을 첨부했습니다.

모두에게 감사

http://www.mediafire.com/?ctblcvsy86mdg8p

+0

코드를 실행하지 못하면 오류 메시지가 표시됩니까? 아파치 로그를 확인하십시오 ... – DaveRandom

+0

파일 또는 링크를 볼 수 없습니다 ... 정말로 추가 했습니까 – Fraser

+0

누락 된 파일에 사과드립니다. 나는 그 (것)들을 붙이기 위하여 질문을 편집했다. 도움말 환호 – Bernard

답변

0

$argv 변수는 스크립트가 CLI에서 호출 한 경우에만 사용할 수 있습니다. 이 웹에서 호출 할 수 있도록 스크립트를 변경하지 않으려면, 당신은 명령 줄에서 할 것처럼

exec('main.php param'); 

으로 다른 스크립트에서 호출 시도 할 수 있습니다.

+0

연락 주셔서 감사합니다. main.php 파일은 내가하고자하는 것을 보여주는 예일뿐입니다. '$ argv'는 단지 문자열 param이므로 문자열 param이 같더라도 argv로 채워진 문자열을 쓰는 것은 실패합니다. 초기화 된 후에 ZigbeeControl에 대한 핸들이 필요하기 때문에 exec를 사용할 수 없습니다. 건배 – Bernard

+0

main.php 안에는 ZigbeeControl 인스턴스가 어떻게 호출되었는지에 관계없이 여전히 인스턴스가 있습니다. 스크립트를 웹 지향적으로 만들고 싶다면'$ _GET'을 통해 인수를 전달하십시오. – Hnatt

+0

안녕하세요, Hnatt, 나는 코멘트 [link] (http://www.mediafire.com/?9rmdqqjk41b6agd)를 위해 의도 된 방법으로 샘플 프로젝트를 첨부했습니다. 이것은 zigbee/application/views/header_view.php입니다. 상업적으로 민감하므로 파일을 추가 할 수 없습니다. 차이점이 있는지 보려면 표준 배포판에서이 도구를 실행 해 보겠습니다. 건배 – Bernard