프로그램/linux2012. 2. 20. 15:01

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 &
Posted by 은둔고수