개발 꿀팁/PHP

php 실행 명령 함수

Jammie 2022. 7. 16. 15:04
반응형

서언

일부 php 버전은 기능을 비활성화 할 수 있습니다. 사용하기 전에 기능을 비활성화하십시오.
사용 안 함 해제 방법
php.ini를 찾아서 disable_function 검색하기s,안에 있는 비활성화 함수를 삭제하시면 됩니다.
파라메트릭스
$command는 실행할 명령입니다.
$output은 실행 명령의 모든 출력값을 얻는 것입니다.
$return은 실행 명령의 성공 여부입니다.

1、system

system($command,$return)

시스템 명령어/php 사용자 정의 명령을 실행하고 해당 실행 결과를 출력하여 프로세스를 동기화하며, 실행이 완료되면 후속 코드 실행

2、exec

exec($command,$outpub,$return)

주의:exec 출력은 명령 실행 결과의 마지막 줄 내용입니다.처리되지 않은 모든 출력 데이터를 가져오려면 passthru() 함수를 사용하십시오

3、passthru

passthru($command,$return_var)

4、 shell_exec

shell_exec($command)

4.1 역따옴표`

echo `command`

반따옴표는 shell_exec과 같은 의미이다
php에서는 실행 연산자라고 하며, PHP는반 따옴표 안의 내용을 셸 명령으로 실행한 다음 출력 정보를 되돌려줍니다

위의 방법은 명령 실행을 완료해야만 다음 프로그램을 실행할 수 있습니다. 만약 논리가 복잡하면 사용자 경험에 영향을 미칠 수 있습니다. 이 경우 비동기 실행 방법, 서버 실행 알림, 마스터 프로세스 점유 안 함 방법을 제공할 수 있습니다

5、popen pclose

 $storm=popen($command,'w');//프로세스 채널 열기
 pclose($storm);

popen의 w 인자는 r/w일 수 있습니다. r은 읽기 파일 w는 감사 파일입니다.
pclose가 반환 값을 닫으려면 popen을 닫을 수 없습니다. 만약 pclose가 1로 쓴다면동기화 프로세스가 진행되어 프로그램이 중단될 수 있습니다

다음 두 가지 유형은 그다지 자주 사용하지 않는 것으로 볼 수 있지만, 일부 특수한 상황에서는 더욱 잘 처리할 수 있다.

6、proc_open

proc_open (string $cmd ,array $descriptorspec ,array &$pipes [, string $cwd [, array $env [, array $other_options ]]])

popen 함수와 유사하지만 양방향 파이프라인을 제공할 수 있음
popen 함수 해석

7、pcntl_exec

void pcntl_exec ( string $path [, array $args [, array $envs ]] )

path는 실행 가능한 이진 파일 경로 또는 첫 번째 줄에 실행 파일 경로 헤더를 지정하는 스크립트입니다.
args는 프로그램에 전달할 인수의 문자열 배열이다.
pcntl은 리눅스 아래의 확장으로 php의 멀티스레드 동작을 지원하기 위해 추가 설치가 필요하다.
pcntl_exec 함수의 역할은 현재 프로세스 공간에서 지정한 프로그램을 실행하는 것입니다. 버전 요구 사항: PHP > 4.2.0

반응형