2011-12-22 2 views
0

을 받고 :PHP에서 SASS 스크립트를 실행하고 나는이 PHP 스크립트 (test.php)가 출력

<?php 

    $cmd = "/usr/bin/sass --watch file1.scss"; 

    system($cmd); 

?> 

이 지금은이 방법 CLI에서 내 PHP 스크립트를 호출

/usr/bin/php test.php 

내가 얻을를 출력 없음 (SASS가 변경 사항을보고 있습니다.)

쉘에서 직접 SASS 명령을 호출하면 올바르게 출력됩니다.

왜?

정보 : 나는 OS X 라이온

편집에 PHP 5.3.6 버전을 사용하고 있습니다, 변경이 명령 시계, 일반 명령에 다르게 행동하는 것 같다 있습니다.

편집 2 : 명령이 작동하고 올바르게 컴파일됩니다. 유일한 단점은 출력입니다 (오류를보고 디버그하고 싶습니다 :)

답변

0

일부 명령 줄 유틸리티, 출력을 조작 파이프는 PHP가 사용할 수없는 어떤 방법으로도 사용할 수 있습니다.

따라서이 특별한 경우에는 해결책이 없습니다.

0

system()은 문자열을 반환합니다. 그냥 에코.

+0

아니요. 동일하게 유지됩니다. –

+0

이므로 PATH에 문제가있을 수 있습니다. 실행중인 sass의 전체 경로를 사용하십시오. (어떤 "sass"로 얻으십시오) –

+0

여전히 작동하지 않습니다. 질문을 수정하여 명령이 작동하지만, 출력이 부족합니다. –

0
당신이 시스템에 두 번째 인수에 전달해야 http://se.php.net/system에 따르면

() 및 명령의 반환 값은 해당 변수에 설정됩니다 말대꾸 같은

<?php 
system($command, $return); 

echo $return; 
+0

이 역시 작동하지 않습니다. 그것은 변화를보고 루프에서 자체를 실행하는 명령입니다, 그래서, 반환 값을 찾고 있어요, 그냥 정상적인 출력 (그런데,이 경우에는 Ctrl + C를 아무 것도 출력하지 않고 명령을 마무리) –

관련 문제