2010-12-14 3 views
0

터미널/명령 줄에서 잘 실행되는 명령이 있습니다. 그러나, 나는 cron 작업과 같은 명령을 실행하려고하면 실패합니다. 내가 libcurl에 설치 --OpenSSL 지원을OpenSSL이있는 Libcurl이 cron에서 발견되지 않았습니다.

Fatal error: Uncaught CurlException: 1: Protocol https not supported or disabled in libcurl thrown in path/public_html/app/vendors/facebook/graph/facebook.php on line 622 

다음은 오류 메시지 cron 작업 여기

*/5 * * * * (PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/lib; /path/to/app/public_html/vendors/cakeshell report main -cli /usr/local/lib -console /path/to/app/public_html/cake/ console -app /path/to/app/public_html/app) 

.. 그리고이다. 나는 이것이 PATH 문제라고 생각하고있다. 당신이 볼 수 있듯이 phpinfo()에서/usr/local/lib라고 생각하는 PHP 경로를 추가하려고 시도했지만 여전히 실패하고 있습니다.

왜 이것이 터미널에서 작동하지만 cron에서는 작동하지 않는지 완전히 이해하기 어렵습니다. 나는 Facebook SDK (Graph)와 관련이 없다고 생각한다. cron 밖에서 작동하기 때문이다. 누구든지 아이디어가 있습니까?

답변

2

해결책을 찾았습니다. phpinfo()에서 PHP 변수에서 $ _SERVER [ 'PATH'] 변수를 찾고이 내용을 복사하여 cron 작업에 PATH로 미리 붙여 넣습니다. 그래서

*/5 * * * * /home/worldDomination 

그것 뿐이다

*/5 * * * * PATH=contents-of-$_SERVER['PATH'] ; /home/worldDomination 

이 될 것입니다.

관련 문제