메뉴 건너뛰기

프로그램언어

2021.03.26 17:55

PHP 쉘 스크립트

조회 수 839 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

참조 : http://pokute.tistory.com/23

 


삭제 대비용 원본글 복사
 

linux shell에서 php실행하기
php파일의 맨위에 php실행파일의 주소를 추가해준다.  

 #!/usr/local/php-X-X-X/bin/php
<?php
.
.
.



만약 웹브라우져에서 읽을 수 없게 하려면 -q 옵션을 붙여준다. 

 #!/usr/local/php-X-X-X/bin/php -q



아래는 더 자세한 정보. 

일반적으로 UNIX/Linux 환경에서 간단한 일들을 처리 하기 위해 쉘 스크립트를 많이 사용하게 된다. 하지만 C++같은 문법에만 익숙해져 있는 사람들은 아무래도 쉘 스크립트를 사용하는데 어색함이 없지 않아 있다. 
그에 반해 PHP의 경우에는 C와 문법이 거의 유사하므로 작성하는데 어색함이 그리 크게 느껴지지 않는다.
 
이 문서는 PHP를 쉘 스크립트로 이용 할 수 있는 방법에 대해서 간단히 기술 하도록 하겠다.

1. php를 쉘 스크립트로 사용하기 위한 요구 사항
php를 쉘 언어로 사용하기 위해서는 아파치 모듈 대신 CGI 바이너리로 설치 해야 한다.

2. #!/usr/local/bin/php -q 선언
일반적인 PHP 페이지와 PHP 쉘 스크립트 사이의 단 한가지 차이점은 PHP스크립트의 제일 첫 번째 줄에 위의 제목과 같이 쉘 호출을 해주어야 하는 점이다. 첫 번째 줄의 '#!' 은 주석을 나타냄과 동시에 이 쉘 스크립트가 실행 되면서 이용하게 되는 바이너리 엔진의 위치와 옵션을 타나낸다. (사용하게 될 바이너리의 위치는 사용자의 환경에 따라 다르니 자신의 php 엔진이 어느 디렉토리에 있는지 확인 하도록 한다. 'whereis' 같은 명령어가 도움이 될 것이다.)
-q 옵션은 HTTP헤더를 사용하지 않겠다는 뜻이며 나머지 보다 자세한 사항은 php 도움말을 참조 하도록 한다.
그 외의 부분은 일반적인 php 파일을 작성하는 것과 전혀 다르지 않다. 

#!/usr/local/bin/php -q
<?php
   .....
?>


3. 쉘 스크립트에 매개변수 전달하기
일 반적으로 쉘 스크립트는 프로세스를 실행 시키면서 매개변수를 전달하는 경우가 많다. php 스크립트에서 매개변수를 전달하는 것은 $argv 배열을 통해서 이루어 진다. $argv 배열을 사용하기 위해서는 php.ini의 register_argc_argv , register_globals 항목들을 On으로 셋팅 해주어야 한다. 

register_argc_argv = On
register_globals = On


 아래 스크립트 예제는 프로세스 시작시 인자로 받은 두 변수를 출력 할 것이다. 

#!/usr/local/bin/php -q
<?php
    $first_name = $argv[1];
    $last_name = $argv[2];
    print("Hello, $first_name $last_name! How are you today?n");
?>


4. 프로그램 실행 하기 

$ phpShellTest.ph arg1 arg2

 


List of Articles
번호 제목 날짜 조회 수
220 JSON and JavaScript usage 2014.03.26 19066
219 자릿수만큼 앞에 0 붙이기 2017.03.07 19040
218 링크를 걸때 http 처리방법 2016.12.23 19021
217 디렉토리 안의 파일의 내용들을 읽는 예 2016.12.23 19016
216 정규 표현식 검색과 치환 (preg_replace) 2016.12.23 19012
215 mysql_result — 결과 데이터를 반환 2016.12.23 18969
214 문자열 뒤집기 (strrev) 2016.12.23 18952
213 도메인 앞에 자동으로 WWW를 붙이는 방법 2017.03.07 18921
212 문자열 찾기 (strstr) 2016.12.23 18911
211 두 날짜 사이의 차이 구하기 2017.03.07 18880
210 문자열 추출하기 (substr) 2016.12.23 18869
209 로그인페이지에서 온 경우/로그인한 페이지로 이동 2016.12.23 18851
208 문자열 치환 (str_replace) 2016.12.23 18815
207 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18813
206 mysql_insert_id 2016.12.23 18753
205 네이버 지도 API 연동 PHP 소스 2017.03.06 18650
204 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18645
203 PHP 날짜/시간 정리 2017.03.07 18638
202 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련 2017.03.06 18574
201 잡다한 php 2017.03.06 18505
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved