>  기사  >  백엔드 개발  >  반환값이 없는 PHP의 exec() 함수에 대한 문제 해결 방법을 간략하게 소개(권장)

반환값이 없는 PHP의 exec() 함수에 대한 문제 해결 방법을 간략하게 소개(권장)

黄舟
黄舟원래의
2017-04-01 09:13:261607검색

아래 편집기에서는 PHP의 exec() 함수 반환 값이 없는 경우의 문제 해결 방법에 대해 간략하게 설명합니다(필독). 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라 살펴보겠습니다

보안Imagemagic에서는 여러 서버에서 exec를 사용해야 합니다설치실패

exec()가 외부에서 실행됩니다. 오류 메시지 없이 명령이 실패했습니다.

Exec은 명령줄에서는 문제없이 특정 명령을 실행하는데 php에서는 오류가 발생합니다. 이 문제는 99.99% 권한과 관련이 있지만 exec로 실행한 명령은 오류를 반환하지 않습니다. 한 가지 비결은 exec 호출이 다음과 같다고 가정하고 파이프 명령을 사용하는 것입니다.

exec('convert a.jpg b.jpg', $output, $return_val);

는 다음과 같이 변경할 수 있습니다.

exec('convert a.jpg b.jpg 2>&1', $output, $return_val); 


print_r($output);

2>&1 명령은 쉘 실행 중 오류를 $output 변수에 출력하고, 분석할 변수를 출력합니다.

참고: exec에는 3개의 매개변수가 있습니다. 첫 번째 매개변수는 실행할 명령입니다. 두 번째 매개변수는

배열입니다. 배열의 값은 첫 번째 명령이 실행된 후에 생성됩니다. , 세 번째 매개변수는 상태 를 실행하며, 0은 성공, 나머지는 실패를 나타냅니다.

php에는 외부 명령 system, exec, passthru를 실행하는 데 사용할 수 있는 세 가지 함수가 있습니다.

위 내용은 반환값이 없는 PHP의 exec() 함수에 대한 문제 해결 방법을 간략하게 소개(권장)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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