메뉴 건너뛰기

프로그램언어

2021.03.26 17:55

PHP 쉘 스크립트

조회 수 832 추천 수 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

 


  1. No Image 26Mar
    by
    2021/03/26 Views 690 

    PEAR DB 관련 함수들

  2. No Image 26Mar
    by
    2021/03/26 Views 676 

    파일을 변수에 담기(ob_start를 이용한 방법)

  3. 13자리 timestamp 생성하기

  4. No Image 31Dec
    by
    2019/12/31 Views 644 

    PHP 버전이 낮아 imagerotate() 함수가 없을때 대신 사용하는 함수

  5. No Image 26Mar
    by
    2021/03/26 Views 623 

    while, for, foreach 속도 비교

  6. No Image 19Jun
    by
    2020/06/19 Views 619 

    다중 파일을 zip으로 묶어받기

  7. No Image 19Jun
    by
    2020/06/19 Views 618 

    파일 다운로드 함수(멀티 이어받기/속도제한)

  8. No Image 26Mar
    by
    2021/03/26 Views 585 

    서브도메인 세션 공유

  9. No Image 26Mar
    by
    2021/03/26 Views 584 

    알파벳 순서대로 출력하기 ord(), chr()

  10. No Image 26Mar
    by
    2021/03/26 Views 564 

    substr(), mb_substr(), iconv_substr()

  11. No Image 26Mar
    by
    2021/03/26 Views 558 

    csv파일 다루기. fputcsv(), fgetcsv()

  12. Javascript 두 좌표 사이의 거리 구하기, 두 좌표의 중앙 좌표 구하기

  13. No Image 22Sep
    by
    2020/09/22 Views 495 

    네이버 지도 API를 이용한 주소를 좌표로 변환하기 (PHP)

  14. No Image 29Mar
    by
    2021/03/29 Views 494 

    CodeIgniter - DB오류체크, 디버깅 여부 설정

  15. No Image 24Aug
    by
    2020/08/24 Views 475 

    사업자등록번호 유효성 체크

  16. No Image 26Mar
    by
    2021/03/26 Views 451 

    배열 더하기 (+ 를 이용한 배열 합치기 )

  17. No Image 19Jun
    by
    2020/06/19 Views 438 

    멀티 파일다운로드 꽁수로 구현하기

  18. No Image 08Jul
    by
    2021/07/08 Views 432 

    주차 , 요일, 해당주의 시작일, 해당주의 종료일 date()

  19. No Image 05Oct
    by
    2020/10/05 Views 431 

    DAUM 지도 API 좌표→주소(주소->좌표) 변환

  20. No Image 23Nov
    by
    2020/11/23 Views 429 

    경로 제외한 파일 이름만 선택하는 방법, Basename()

Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved