- PHP execution in bash shell, PHP batch process, PHP cron job
- PHP 배치 작업 돌리기
- PHP 스크립트 작업
- 리눅스 셸에서 PHP 파일 실행하기
- PHP 파일 쉘에서 실행할 때 파라미터 전달하기
1 개요[ | ]
- 리눅스(또는 윈도우) 쉘에서 php 파일을 실행할 수 있다.
- crontab에 등록하여 주기적 수행되도록 할 수 있다.
- $_SERVER 변수를 사용할 수 없다. 예를 들어 다음과 같은 코드는 제대로 실행되지 않을 것이다.
PHP
Copy
include $_SERVER['DOCUMENT_ROOT'].'/my_lib.php';
2 방법[ | ]
Bash
Copy
php 파일명.php
- → 옵션을 명시하여
php -f 파일명.php
라고 써도 되지만 굳이 그럴 필요는 없다.
3 테스트[ | ]
3.1 파일 쓰기[ | ]
test1.php를 편집기로 열고,
Bash
Copy
vi test1.php
아래 내용을 넣은 후
PHP
Copy
<?php
file_put_contents("test1.txt", "John Smith\n");
실행시켜 보자.
- 실행 예시
Console
Copy
[root@zetawiki ~]# php test1.php
[root@zetawiki ~]# cat test1.txt
John Smith
3.2 인수 받기 1[ | ]

test2.php를 편집기로 열고,
Bash
Copy
vi test2.php
아래 내용을 넣은 후
PHP
Copy
<?php
print_r($argv);
?>
실행시켜 보자.
- 실행 예시
Console
Copy
[root@zetawiki ~]# php test2.php hello world 2012
Array
(
[0] => test2.php
[1] => hello
[2] => world
[3] => 2012
)
3.3 인수 받기 2[ | ]
test3.php를 편집기로 열고,
Bash
Copy
vi test3.php
아래 내용을 넣은 후
PHP
Copy
<?php
$k=0;
if(isset($argv[1])&&$argv[1]>0)$k=$argv[1];
for($i=0;$i<$k;$i++) {
print "$i ";
}
print "\n";
실행시켜 보자.
- 실행 예시
Console
Copy
[root@zetawiki ~]# php test3.php 3
0 1 2
[root@zetawiki ~]# php test3.php 10
0 1 2 3 4 5 6 7 8 9
[root@zetawiki ~]# php test3.php
[root@zetawiki ~]# php test3.php jmnote
[root@zetawiki ~]# php test3.php -1
[root@zetawiki ~]#
4 예약작업[ | ]
이 부분에 대해 더 많은 내용을 읽으려면 crontab 문서를 참조해 주세요.
- cron 예약작업 예시
Console
Copy
[root@zetawiki ~]# crontab -l
00 02 * * * php /root/script/backup.php
- → 매일 02:00에 /root/script/backup.php를 수행한다.
5 같이 보기[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.