
localhost에서 cron 작업을 사용하여 PHP 스크립트를 실행하고 싶습니다. 내 스크립트는 다음 위치에 있습니다.
/opt/lampp/htdocs/rrugd/myscript.php
opt는 루트 아래에 있으므로 일반 사용자뿐만 아니라 루트에 대한 cron 작업을 추가하려고 시도했지만 실행되지 않습니다. 이것은 2분마다 PHP 스크립트를 실행하기 위한 cron 작업입니다.
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
내 스크립트는 기본적으로 데이터베이스에서 테이블을 자르는 것을 의미합니다. 실제로 자정에 발생하므로 cron 작업의 실제 변수는 다음과 같이 변경됩니다.
00 00 * * * php /path/to/script.php
하지만 테스트를 위해 2분마다 사용했습니다. 인터넷과 AU에서 검색했지만 실행할 수 없습니다. PATH 설정과 관련된 내용을 보았지만 해당 방법에서 정확히 수행되는 작업이 무엇인지 이해하지 못했습니다.
또한 PHP 스크립트가 PHP 명령을 사용하여 CLI에서 실행되지 않도록 지정하고 싶습니다 myscript.php
. 하지만 로컬 호스트의 브라우저를 통해 실행되거나 호출되면 실행됩니다!
PHP 정보:
some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
답변1
가정하면PHP5; cronjob에 PHP를 사용하는 경우가 있습니다. 다음 중 하나를 시도해 볼 수 있습니다.
- 터미널에서 사용하려면 설치
php5
가 필요합니다php5 cli
. 먼저php5 & cli
기능을 사용할 수 있는지 확인하세요. 그에 대한;
johan@ubusrv:~$ php -v Suhosin-Patch 0.9.6.2(cli)가 포함된 PHP 5.2.4-2ubuntu5.3(빌드: 2008년 7월 23일 06:44:49) 저작권 (c) 1997-2007 PHP 그룹 Zend 엔진 v2.2.0, 저작권 (c) 1998-2007 Zend Technologies
이 명령은 설치된 php5(cli)와 함께 php5 버전을 표시합니다. 그렇지 않은 경우 다음 명령을 사용하여 설치하십시오.
sudo apt-get 설치 php5-cli
php
일단 설치되면 아래와 같이 cronjob에 바이너리 경로를 추가할 수 있습니다 .
사용하여PHP또는PHP5
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
사용하여PHP바이너리 경로
*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php
아래 명령을 사용하여 위치를 찾을 수도 있습니다.PHP/php5경로는;
johan@ubusrv:~$ 어느 PHP /usr/bin/php johan@ubusrv:~/cli$ PHP는 어디에 있나요? PHP: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz johan@ubusrv:~/cli$ 유형 -a PHP php는 /usr/bin/php 입니다.
- 다른 곳에서 URL을 사용하여 PHP 스크립트를 호출해야 하는 경우; 당신은 단순히 사용할 수 있습니다스라소니,곱슬 곱슬하다또는wget.
www
또는 디렉토리 내에 PHP 스크립트를 배치했는지 확인public_html
하고 cronjob에서 경로를 올바르게 호출하십시오.
*/2 * * * * wget -q http://localhost//myscript.php