>  기사  >  백엔드 개발  >  PHP 외부 실행 명령 기능 사용법 요약

PHP 외부 실행 명령 기능 사용법 요약

高洛峰
高洛峰원래의
2016-12-20 15:37:38978검색

본 글의 예시에서는 PHP 외부 실행 명령어 기능의 사용법을 설명하고 있습니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

우선 1년 넘게 PHP를 공부하고 사용하면서 스스로 반성해 볼 필요가 있습니다. 거의 1년 동안 리눅스 시스템을 공부하고 사용해왔는데 사실 php와 같은 인터프리트 언어가 시스템을 제어하기 위한 연산 명령을 직접 호출할 수 있다는 것을 몰랐습니다...
먼저 리눅스 연산을 요약하지 않겠습니다. 일반적으로 사용되는 cd, cp, mv, rm 등을 언급합니다. 첫 번째 부분은 요약할 가치가 있습니다. 한 가지 점은 일반 사용자가 루트 권한을 추출할 때 명령 앞에 sudo를 추가해야 한다는 것입니다. vi 편집기는 다음과 같습니다. set nu.
PHP의 내장 함수인 exec와 system은 시스템 명령(셸 명령)을 호출할 수 있습니다. 그러나 이 두 함수를 사용하려면 php.ini의 안전 모드를 꺼야 합니다. 그렇지 않으면 PHP는 호출을 허용하지 않습니다. 보안상의 이유로 시스템이 명령되었습니다.

먼저 PHP 매뉴얼에서 이 두 함수에 대한 설명을 살펴보세요.

1. exec --- 외부 프로그램 실행

구문: string exec ( string command [, array &output [, int &return_var]] )

설명:

exec()는 주어진 명령 명령을 실행하지만 아무것도 출력하지 않습니다. 명령을 실행하고 명령에서 모든 데이터를 가져와야 하는 경우 passthru() 함수를 사용할 수 있습니다.

매개변수 배열이 제공되면 지정된 배열은 명령에 의해 출력된 각 줄로 채워집니다. 참고: 배열에 이미 일부 요소가 포함되어 있으면 exec()가 나중에 해당 요소를 배열에 추가합니다. 이 함수가 요소를 추가하는 것을 원하지 않으면 배열을 exec()에 전달하기 전에 unset()을 호출할 수 있습니다.

2. 시스템 --- 외부 프로그램 실행 및 출력

구문: 문자열 시스템( 문자열 명령 [, int &return_var] )

설명:

system()은 주어진 명령 명령을 실행하고 결과를 출력합니다. return_var 매개변수가 제공되면 실행된 명령의 상태 코드가 이 변수에 기록됩니다.

PHP가 서버 모듈로 실행 중인 경우 system()은 각 줄을 출력한 후 자동으로 웹 서버의 출력 버퍼를 지우려고 시도합니다. 성공하면 명령의 마지막 줄을 반환하고, 실패하면 false를 반환합니다.

명령을 실행하고 명령에서 모든 데이터를 가져와야 하는 경우 passthru() 함수를 사용할 수 있습니다.

둘 다 시스템 쉘 명령을 호출하는 데 사용됩니다.

차이점은

exec는 모든 실행 결과를 $output 함수(배열), $status로 반환할 수 있습니다. 는 실행 상태, 0은 성공, 1은 실패

systerm은 $output 함수를 제공할 필요가 없으며 결과를 직접 반환합니다. 마찬가지로 $return_var은 실행 상태 코드, 0은 성공입니다. 1은 실패

실행 예:

다음은 인용된 내용입니다.

<?php
  $a = exec("dir",$out,$status);
  print_r($a);
  print_r($out);
  print_r($status);
?>

시스템 예:

다음 인용 내용:

<?php
  $a = system("dir",$out);
  print_r($a);
  print_r($out);
   ?>

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

PHP 외부 실행 명령 기능 사용법 요약과 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.