5분마다 PHP 스크립트를 실행하기 위해 Xubuntu에서 cronjob을 만들었습니다. 내가 한 방법은 다음과 같습니다.
다음 명령을 입력했습니다.
$ crontab -e
그런 다음 다음을 입력합니다.
*/5 * * * * /usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php
용도가 무엇인지 이해가 되지 않습니다 /usr/bin/php
. 디렉토리에 해당 파일이 없지만 bin
PHP 스크립트를 실행할 수 없습니까?
답변1
"문제"는 일반적으로 PHP가 웹 서버에서 모듈로 실행되도록 설계되었다는 것입니다. 명령줄에서 PHP 스크립트를 실행하려면 먼저 명령줄 버전의 PHP를 설치해야 할 수도 있습니다.
apt-get install php5-cli
/usr/bin/php
는 PHP 바이너리를 배치하는 기본 위치이지만 소스에서 PHP를 컴파일하는 경우 다른 위치에 있을 수 있습니다.
일반적으로 PHP 스크립트는 쉘 스크립트로 형식화되지 않으므로 PHP 스크립트를 실행하는 데 어떤 인터프리터를 사용해야 하는지 cron에 알려야 합니다. 이것이 명령줄이 사용되는 이유입니다 /usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php
.
Shebang을 사용하여 스크립트의 형식을 지정하고 실행 가능하게 만든 다음( chmod +x script.php
), PHP를 인터프리터로 지정하지 않고(예: ./script.php
) 명령줄에서 직접 호출할 수 있습니다.
#!/usr/bin/php
<?php
print "Hello world!\n" ;
?>
답변2
대신 WGET을 사용해 보세요.
*/5 * * * * wget http://ip-address-or-domain-to-your-script/calculation.php