PHP 배치 작업

Jmnote (토론 | 기여)님의 2012년 2월 3일 (금) 13:25 판 (→‎같이 보기)
  • 리눅스 셸에서 PHP 파일 실행하기
  • PHP 배치 작업 돌리기

1 방법

  • 아래와 같이 둘다 가능하다. 즉 -f는 생략해도 된다.
php -f 파일명.php

php 파일명.php

2 테스트

2.1 파일 쓰기

test1.php를 편집기로 열고,

vi test1.php

아래 내용을 넣은 후

<?php
file_put_contents("test1.txt", "John Smith\n");
?>

실행시켜 보자.

실행 예시
[root@jmnote ~]# php test1.php
[root@jmnote ~]# cat test1.txt
John Smith

2.2 인수 받기 1

test2.php를 편집기로 열고,

vi test2.php

아래 내용을 넣은 후

<?php
print_r($argv);
?>

실행시켜 보자.

실행 예시
[root@jmnote ~]# php test2.php hello world 2012
Array
(
    [0] => test2.php
    [1] => hello
    [2] => world
    [3] => 2012
)

2.3 인수 받기 2

test3.php를 편집기로 열고,

vi test3.php

아래 내용을 넣은 후

<?php
$k=0;
if(isset($argv[1])&&$argv[1]>0)$k=$argv[1];
for($i=0;$i<$k;$i++) {
	print "$i ";
}
print "\n";
?>

실행시켜 보자.

실행 예시
[root@jmnote ~]# php test3.php 3
0 1 2 
[root@jmnote ~]# php test3.php 10
0 1 2 3 4 5 6 7 8 9 
[root@jmnote ~]# php test3.php

[root@jmnote ~]# php test3.php jmnote

[root@jmnote ~]# php test3.php -1

[root@jmnote ~]#

3 도움말

[root@jmnote ~]# php --help
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a

  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Output HTML syntax highlighted source.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}