이 글에서는 주로 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는 preg_split 함수를 사용하여 개행과 세미콜론이 포함된 문자열을 분할합니다.PHP는 다음 기능을 구현하는 프로그램을 작성합니다.위 내용은 PHP 외부 실행 명령 기능 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!