백엔드 개발 PHP 튜토리얼 三个PHP调用系统命令函数的区别与联系_PHP教程

三个PHP调用系统命令函数的区别与联系_PHP教程

Jul 15, 2016 pm 01:30 PM
linux php shell 그리고 기능 차이점 주문하다 존재하다 우리를 구현하다 시간 ~의 체계 연결하다 부르다

我们在执行linux系统的shell命令时,会用到虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

system() 输出并返回最后一行shell结果。

exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

相同点:都可以获得命令执行的状态码

在PHP中调用外部命令,可以用如下三种方法来实现:

用PHP提供的专门函数

PHP提供共了3个专门的执行外部命令的PHP调用系统命令函数:system(),exec(),passthru()。

system()
 

原型:string system (string command [, int return_var])
 

system()函数很其它语言中的差不多,这个PHP调用系统命令函数执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
 

例子:

system("/usr/local/bin/webalizer/webalizer");

exec()

原型:string exec(string command [, string array [, int return_var]])
 

exec()函数与system()这个PHP调用系统命令函数类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array 可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二个参数时,才可以用第三个参数,用来取得命令执行的状态码。
 

例子:

exec("/bin/ls -l");
exec("/bin/ls -l", $res);
exec("/bin/ls -l", $res, $rc);

passthru()
 

原型:void passthru (string command [, int return_var])
passthru ()只调用命令,这个PHP调用系统命令函数不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。所以passthru()函数经常用来调用象pbmplus (Unix下的一个处理图片的工具,输出二进制的原始图片的流)这样的程序。同样它也可以得到命令执行的状态码。
 

例子:

header("Content-type: image/gif");
passthru("./ppmtogif hunte.ppm");

以上就是三个PHP调用系统命令函数的工能对比,希望对大家有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446317.htmlTechArticle我们在执行linux系统的shell命令时,会用到 虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的: system() 输出并返回最后...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Navicat Connection 데이터베이스 : 원격 및 로컬 연결 간의 차이 및 문제 해결 Navicat Connection 데이터베이스 : 원격 및 로컬 연결 간의 차이 및 문제 해결 Apr 08, 2025 pm 10:51 PM

원격 연결 및 로컬 연결은 네트워크를 통해 데이터베이스에 다르게 액세스합니다. 원격 연결은 인터넷을 통해 원격 서버의 데이터베이스에 액세스하는 반면 로컬 연결은 로컬 컴퓨터에 저장된 데이터베이스에 직접 액세스합니다.

Centos 인터뷰 질문 : ACE 귀하의 Linux 시스템 관리자 인터뷰 Centos 인터뷰 질문 : ACE 귀하의 Linux 시스템 관리자 인터뷰 Apr 09, 2025 am 12:17 AM

Centos 인터뷰에 대한 자주 묻는 질문과 답변에는 다음이 포함됩니다. 1. yum 또는 dnf 명령을 사용하여 Sudoyumininstallnginx와 같은 소프트웨어 패키지를 설치하십시오. 2. SudouserAdd-m-s/bin/bashnewuser와 같은 userADD 및 GroupADD 명령을 통해 사용자 및 그룹을 관리합니다. 3. 방화구를 사용하여 SudofiRewall-CMD와 같은 방화벽을 구성하십시오. 4. Sudoyuminstallyum-Cron과 같은 Yum-Cron을 사용하도록 자동 업데이트를 설정하고 apply_updates = 예를 구성하십시오.

Linux를 가장 많이 사용하는 것은 무엇입니까? Linux를 가장 많이 사용하는 것은 무엇입니까? Apr 09, 2025 am 12:02 AM

Linux는 서버, 임베디드 시스템 및 데스크탑 환경에서 널리 사용됩니다. 1) 서버 필드에서 Linux는 안정성 및 보안으로 인해 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하기에 이상적인 선택이되었습니다. 2) 임베디드 시스템에서 Linux는 높은 사용자 정의 및 효율성으로 인기가 있습니다. 3) 데스크탑 환경에서 Linux는 다양한 사용자의 요구를 충족시키기 위해 다양한 데스크탑 환경을 제공합니다.

PHP vs. Python : 차이점 이해 PHP vs. Python : 차이점 이해 Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP의 미래 : 적응 및 혁신 PHP의 미래 : 적응 및 혁신 Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

Linux 기본 사항을 배우는 방법? Linux 기본 사항을 배우는 방법? Apr 10, 2025 am 09:32 AM

기본 Linux 학습 방법은 다음과 같습니다. 1. 파일 시스템 및 명령 줄 인터페이스 이해, 2. LS, CD, MKDIR, 3. 파일 생성 및 편집과 같은 파일 작업 배우기, 4. 파이프 라인 및 GREP 명령과 같은 고급 사용법, 5. 연습 및 탐색을 통해 지속적으로 기술을 향상시킵니다.

PHP : 죽어 가거나 단순히 적응하고 있습니까? PHP : 죽어 가거나 단순히 적응하고 있습니까? Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

주요 Linux 운영 : 초보자 가이드 주요 Linux 운영 : 초보자 가이드 Apr 09, 2025 pm 04:09 PM

Linux 초보자는 파일 관리, 사용자 관리 및 네트워크 구성과 같은 기본 작업을 마스터해야합니다. 1) 파일 관리 : mkdir, touch, ls, rm, mv 및 cp 명령을 사용하십시오. 2) 사용자 관리 : userAdd, passwd, userdel 및 usermod 명령을 사용합니다. 3) 네트워크 구성 : ifconfig, echo 및 ufw 명령을 사용하십시오. 이러한 운영은 Linux 시스템 관리의 기초이며, 마스터하면 시스템을 효과적으로 관리 할 수 ​​있습니다.

See all articles