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

墨辰丷
풀어 주다: 2023-03-28 21:02:01
원래의
1345명이 탐색했습니다.

이 글에서는 주로 PHP 외부 실행 명령 기능의 사용법을 소개하고, 외부 명령을 실행하기 위한 exec 및 시스템 관련 사용법을 예제 형식으로 분석합니다. 도움이 필요한 친구는 참고할 수 있습니다

먼저 스스로 해야 합니다. -PHP를 살펴보고 배워서 사용하기 1년이 넘었고, 리눅스 시스템을 거의 1년 동안 공부하고 사용해왔는데, PHP와 같은 인터프리터 언어가 시스템을 제어하기 위해 직접 조작 명령을 호출할 수 있다는 것을 몰랐습니다. ...

먼저 Linux의 동작을 요약하자면, 일반적으로 사용되는 cd, cp, mv, rm 등은 언급하지 않겠습니다. 요약할 가치가 있는 첫 번째 요점은 일반 사용자가 명령 앞에 sudo를 추가해야 한다는 것입니다. 루트 권한을 추출할 때 vi 편집기에 줄 번호를 출력합니다. 명령은 다음과 같습니다.
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은 결과를 직접 반환할 필요가 없습니다. 마찬가지로 $return_var는 실행 상태 코드이며 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는 preg_split 함수를 사용하여 개행과 세미콜론이 포함된 문자열을 분할합니다.


PHP는 다음 기능을 구현하는 프로그램을 작성합니다.


위 내용은 PHP 외부 실행 명령 기능 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!