PHP & Others

리눅스(Linux) php 쉘(Shell) 스크립트 실행하기, 백그라운드로 php 사용하기(nohup)

컨텐츠 정보

본문

출처 : http://okkks.tistory.com/900

 

php 파일을 리눅스에서 쉘 방식으로 직접 실행을 해보자.

 

실행할 php파일이 있는 디렉토리로 이동한다.

]# cd 실행할 php파일 디렉토리

 

방법1>

]# ./파일명.php

 

방법2>

]# php 파일명.php

 

* 방법1,2처럼해도 실행이 안된다면 whereis 명령어로 먼저 php파일 위치를 알아낸다.

]# whereis php

php: /usr/bin/php /etc/php.d /etc/php.ini /usr/lib/php /usr/share/man/man1/php.1.gz

위 내용은 php설치설정에 따라 다를 수 있다.

 

방법3>

]# /usr/bin/php 파일명.php

 

 

참고1> 권한이 없다고 하면(Permission denied) 실행할 php파일에 대한 권한을 확인해 본다.

]# chmod 744 파일명.php

또는 755, 777등 권한에 맞게 실행 권한을 부여한다.

 

참고2> 메일링처럼 많은 데이터를 처리하는 php 파일을 좀 더 빨리 처리하고 싶다면 

php 헤더(header) 값을 출력하지 않으면 실행속도가 좋아진다. (옵션 -q)

]# ./파일명.php -q

 

실행할 파일명.php 소스 상단에 아래 소스를 삽입해도 된다.

#!/usr/bin/php -q

<?php

echo "php 쉘스크립트";

?>

 

참고3> 백그라운드로 실행하고 싶다면 & 을 사용한다.(반대로 포그라운드로 전환할 수도 있다. <- 추후 작성예정)

]# ./파일명.php &

 

참고4>

실행 후 어떠한 값도 남기지 않는다.

]# ./파일명.php > /dev/null &

 

참고5>

실행을 한 사용자가 로그아웃을 하게 되면 실행중인 프로세스가 죽게되는데 

로그아웃을 해도 실행을 마칠때까지 계속 살아있게하려면 nohup 명령어를 사용한다.

]# nohup ./파일명.php &

 

참고6>

nohup 명령어를 사용하면 실행을 마친 후 결과 값이 파일(nohup.out)로 자동 저장하게 된다.

]# nohup ./파일명.php &

]# nohup: appending output to `nohup.out'

 

cat 명령어로 내용을 확인해 보자

]# cat nohup.out

 

참고7>

nohup 명령어로 실행을 마친 후 결과를 원하는 곳에 원하는 파일명으로 저장하고 싶다면

]# nohup ./파일명.php > log/저장할파일명 &

 

 

실사용예> header 출력제한은 소스 상단에 삽입

]# nohup ./실행파일명.html > log/저장할파일명.log &

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
해가 들면 어떻고, 바람이 불면 어떻고, 눈이 오면 어떠랴. 해가 들어주어도 고맙고, 바람이 불어주어도 고맙고, 눈이 와주어도 고마울 뿐. 그렇다, 고맙지 않은 것이 없다. 밤은 밤이어서 고맙고, 새벽은 새벽이어서 고맙고, 낮은 낮이어서 고맙다. 아, 고마운 삼라만상이여! (정채봉)