메뉴 건너뛰기

프로그램언어

2021.03.26 17:55

PHP 쉘 스크립트

조회 수 840 추천 수 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 23Dec
    by
    2016/12/23 Views 23852 

    $_FILES

  2. No Image 23Dec
    by
    2016/12/23 Views 23949 

    $_SERVER 함수

  3. No Image 21Sep
    by
    2016/09/21 Views 33246 

    $_SERVER 환경변수

  4. No Image 27Feb
    by
    2014/02/27 Views 24456 

    $_SERVER변수

  5. 13자리 timestamp 생성하기

  6. No Image 23Dec
    by
    2016/12/23 Views 23089 

    addslashes — 문자열을 슬래시로 인용

  7. No Image 14Apr
    by
    2015/04/14 Views 24258 

    addslashes 함수의 필요성

  8. ajax refresh 시키기(자동리플래쉬) with php

  9. No Image 06Mar
    by
    2017/03/06 Views 21042 

    Ajax로 구연한 실시간 서버시간출력

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

    AJAX로 해당 페이지에서 COOKIE 사용하기

  11. No Image 04Jul
    by
    2018/07/04 Views 8469 

    AJAX를 활용하여 JSON 댓글 처리하기 (PHP)

  12. No Image 14Apr
    by
    2015/04/14 Views 24911 

    array (배열)

  13. No Image 23Dec
    by
    2016/12/23 Views 22216 

    array_key_exists 배열에서 key가 존재하는지 확인

  14. No Image 23Dec
    by
    2016/12/23 Views 21611 

    array_push 배열 끝에 하나 이상의 요소를 추가

  15. No Image 23Dec
    by
    2016/12/23 Views 20782 

    array_slice 배열의 일부를 추출

  16. base64 인코딩/디코딩 함수의 특징

  17. No Image 23Dec
    by
    2016/12/23 Views 21324 

    call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용

  18. No Image 23Dec
    by
    2016/12/23 Views 19893 

    class_exists 클래스가 정의되었는지 확인

  19. No Image 27Feb
    by
    2014/02/27 Views 30511 

    Class를 이용한 DB Connection 소스 (Oracle, MyS

  20. No Image 29Mar
    by
    2021/03/29 Views 498 

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

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved