2016-10-04 8 views
0

작동하지 shell_exec : 나는이 작업을 수행 할 때내가 PHP에서이 명령을 실행하기 위해 노력하고있어 crontab을

<?php 
    shell_exec('echo -e "`crontab -l`\n* * * * * mycommand" | crontab -'); 

는 아무 일도 발생하지 아니하는 오류, 아니 메시지는 아무 일도 발생하지 않습니다. 하지만 bash에서 직접 타이핑 할 때, 멋지게 작동합니다!

나는 약간의 구글을 만들었다. 그리고 일부 사람은 명령의 끝에 2>&1를 사용하기 위해 말했다. 그래서 : I 출력 에코 때

<?php 
    shell_exec('echo -e "`crontab -l`\n* * * * * mycommand" | crontab - 2>&1'); 

하지만 지금이 오류가 있어요 : "-"

: 0 : crontab 파일에서 나쁜 분 오류는 설치할 수 없습니다.

무슨 일이 벌어 질 수 있습니까?

+0

shell_exec에서 아무 것도 출력하지 않기 때문에 오류가 발생하지 않습니다. 명령에서 출력을 리턴하지만 출력 자체는 출력하지 않습니다. 반환 값/오류를 캡처하려면 대신 [exec()] (http://php.net/manual/en/function.exec.php)를 사용해야합니다. –

+0

exec에 출력이 없습니다. shell_exec, 맞죠? 그리고 두 번째 테스트에서 shell_exec을 사용하여 출력합니다. –

+0

'shell_exec - 쉘을 통해 명령을 실행하고 전체 출력을 문자열로 반환합니다. "화면에 출력"이라고 말할 수 없습니다. –

답변

관련 문제