>백엔드 개발 >PHP 튜토리얼 >내 PHP exec() 함수가 작동하지 않는 이유는 무엇입니까?

내 PHP exec() 함수가 작동하지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-14 21:37:19684검색

Why Isn't My PHP exec() Function Working?

PHP의 exec() 함수 문제 해결

exec() 함수 관련 문제에 직면하면 좌절스러울 수 있으며, 특히 결과가 나오지 않을 때 더욱 그렇습니다. 분명한 결과. 이 문서에서는 이러한 문제를 디버그하고 해결하는 데 도움이 되는 포괄적인 가이드를 제공합니다.

문제:
safe_mode 및 safe_mode를 비활성화했음에도 불구하고 exec() 함수가 서버에서 명령을 실행하지 못합니다. 콘솔 명령의 기능을 확인합니다. 애플리케이션에 대한 권한이 올바르게 설정되었습니다.

코드 조각:
다음 코드 조각이 시도되었습니다.

echo exec('/usr/bin/whoami');

echo exec('whoami');

exec('whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

exec('/usr/bin/whoami 2>&amp;1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

마지막 두 코드 조각은 오류와 빈 배열. 서버 지원팀에서 도움을 드릴 수 없습니다.

해결 방법:

  1. disable_functions 확인:

    • /etc/php.ini로 이동하여 exec가 아래에 나열되어 있는지 확인하세요. 비활성화_기능.
    • 있는 경우 이를 제거하고 Apache를 다시 시작합니다.
  2. 디버그 모드 활성화:

    • 더 쉽게 디버깅하려면 다음을 사용하세요. 코드:

      #!/usr/bin/php
      ini_set("display_errors", 1);
      ini_set("track_errors", 1);
      ini_set("html_errors", 1);
      error_reporting(E_ALL);
    • 스크립트를 수동으로 실행합니다: chmod x myscript.php 및 ./myscript.php.
  3. 권한 문제:

    • bash 스크립트 만들기 예를 들어 echo "hello world"와 같은 간단한 명령을 실행합니다.
    • chmod 755를 사용하여 파일 및 폴더에 대한 권한을 설정합니다.
    • 스크립트 실행을 시도합니다.

위 내용은 내 PHP exec() 함수가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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