>백엔드 개발 >PHP 튜토리얼 >쉘은 PHP 스크립트를 호출하고 매개변수를 전달합니다.

쉘은 PHP 스크립트를 호출하고 매개변수를 전달합니다.

WBOY
WBOY원래의
2016-07-28 08:25:561380검색

명령줄은 매개변수가 포함된 PHP 스크립트를 실행하고 매개변수를 얻습니다

게시일: 2011-07-15

카테고리: php

1. 명령줄에서 PHP 스크립트를 실행하는 이유는 무엇입니까?

개인적으로는 크게 두 가지 이유가 있다고 생각합니다.

1. crontab을 사용하여 PHP를 실행하면 서버의 압축이 풀릴 수 있습니다. 물론 여기에는 조건이 있습니다. 즉, 실시간 요구 사항입니다. 높지 않습니다. 예를 들어 SNS의 친구 업데이트에 대한 실시간 요구 사항은 높지 않지만 데이터 양이 상대적으로 많기 때문에 이때 정기적으로 실행하면 웹 서버와 데이터베이스 서버에 많은 부담을 줄 것입니다.

2. 정기적으로 작업을 완료해야 합니다. 예를 들어, 한 달 전 사용자의 메시지를 삭제하고 싶습니다. 이때 제가 작성한 php 스크립트는 crontab에서 실행됩니다. 하루. PHP 프로그램을 수동으로 실행하는 대신.

둘째, 명령줄에서 매개변수를 사용하여 php를 실행하고 매개변수를 얻습니다.

한 가지 중요한 점은 명령줄에서 php를 실행할 때 는 사용하지 않는다는 것입니다. Apache 또는 기타 http 프로토콜이 없으며 모든 get 및 post 매개변수가 전혀 작동하지 않으며 다음과 같이 오류가 보고됩니다.

zhangying@ubuntu:~$ php test.php?aaa=bbb

입력 파일을 열 수 없습니다: test.php?aaa=bbb

일반적인 상황에서는 매개변수를 PHP에 전달할 필요가 없습니다. 정기적으로 실행되지만 때로는 필요한 스크립트입니다.

1. test.php 테스트 파일은 아주 간단하죠?

복사하여 인쇄하시겠어요?

  1. < ;?php
  2. print_r($argv)
  3. echo "n"; >$argc
  4. 에코 ; ?>
  5. 2. 🎜> 복사 및 인쇄를 보려면 명령줄에서 zhangying@ubuntu:~$ php test.php aaa ccc bbbb
  6. 배열
(

[0] => test.php //매개변수 0 , 파일 자체
  1. [1] => aaa
  2. //매개변수 1
  3. [2] => ccc                                                                            ~ 🎜>
  4. 4개 값, 총 매개변수 개수
  5. 이 매개변수 전달 방식은 정말 루트 쉘 스크립트와 유사합니다. zhangying@ubuntu:~$ sh c1.sh aaa bbb
  6. 두 개의 매개변수 aaa bbb를 전달했습니다. c1.sh, 그리고 쉘은 세 개의 매개변수를 얻습니다. $0은 파일 자체이고, $1은 매개변수 1이고, $2는 매개변수 2입니다. 차이점은 PHP는 배열 형식으로 가져오지만 쉘은 그렇지 않다는 것입니다. 위 내용은 쉘이 PHP 스크립트를 호출하고 내용을 포함한 매개변수를 전달하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.