메뉴 건너뛰기

프로그램언어

2021.03.26 17:55

PHP 쉘 스크립트

조회 수 887 추천 수 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. PHP 이미지 리사이즈 함수 imagecopyresized

    Date2023.01.12 Views288
    Read More
  2. PHP http -> https 로 전환

    Date2023.01.12 Views301
    Read More
  3. PHP - 공공 DATA XML 파싱(PHP 버전)

    Date2023.01.12 Views336
    Read More
  4. php www 붙이기

    Date2023.01.12 Views304
    Read More
  5. 주차 , 요일, 해당주의 시작일, 해당주의 종료일 date()

    Date2021.07.08 Views557
    Read More
  6. 특정일의 주차 구하기

    Date2021.07.08 Views391
    Read More
  7. 날짜함수 사용하여 한달에 주차 구하기 weeks by month

    Date2021.07.08 Views1076
    Read More
  8. CodeIgniter - DB오류체크, 디버깅 여부 설정

    Date2021.03.29 Views559
    Read More
  9. [PHP기초] 함수와 객체의 비교

    Date2021.03.27 Views338
    Read More
  10. 클래스와 인스턴스 그리고 메소드 만들기

    Date2021.03.27 Views632
    Read More
  11. [PHP기초] 생성자(인스턴스 초기화)

    Date2021.03.27 Views320
    Read More
  12. [PHP기초] 접근제어자(access modifier)

    Date2021.03.27 Views351
    Read More
  13. [PHP기초] 상속기본

    Date2021.03.27 Views265
    Read More
  14. [PHP기초] 데이터 집합 - 배열다루기

    Date2021.03.27 Views321
    Read More
  15. [PHP 기초] 함수에 관해서

    Date2021.03.27 Views340
    Read More
  16. php date 날짜 관련 함수

    Date2021.03.27 Views475
    Read More
  17. AJAX로 해당 페이지에서 COOKIE 사용하기

    Date2021.03.26 Views429
    Read More
  18. 파일 output을 return 하기

    Date2021.03.26 Views301
    Read More
  19. MYSQL DB 다중접속을 해결 하는 한 방법

    Date2021.03.26 Views334
    Read More
  20. PHP 쉘 스크립트

    Date2021.03.26 Views887
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved