&1', $output, $return_val)으로 수정합니다. ;" ."/> &1', $output, $return_val)으로 수정합니다. ;" .">

 >  기사  >  백엔드 개발  >  php exec가 값을 얻을 수 없으면 어떻게 해야 합니까?

php exec가 값을 얻을 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2021-12-13 09:55:191726검색

php exec가 값을 얻을 수 없는 문제에 대한 해결책: 1. 해당 PHP 코드 파일을 엽니다. 2. 코드를 "exec('convert a.jpg b.jpg 2>&1', $output, $return_val로 수정합니다. );" 바로 그거예요.

php exec가 값을 얻을 수 없으면 어떻게 해야 합니까?

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.

php exec가 값을 얻을 수 없으면 어떻게 해야 합니까?

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 비디오 튜토리얼"

위 내용은 php exec가 값을 얻을 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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