2010-07-02 3 views
0

내가 PHP를 CodeIgniter의 애플리케이션에서 내 컨트롤러 중 하나에서 쉘을 실행하려고 작동하지 내가 파일 /x/sh/xpay4.sh을 실행하려고PHP 시스템()하지만 난 그냥 127로 돌아 얻을 간단한 명령

도움 이 것이 왜 그것을 (1)

+4

당신의 PHP 사용자는 xpay4.sh을 실행할 수있는 권한이 있습니까? –

+0

PHP 사용자를 찾으려면 어떻게해야합니까? –

+1

whoami는 당신이 (사용자로서) 누구인지를 알려주고, 그때 ls -l이 사용 권한에 대한 답을 줄 수있는 권한을 확인합니다. – dierre

답변

1

system 기능은 안전 모드에서 제한됩니다.

실행 파일 은 safe_mode_exec_dir에만 실행할 수 있습니다. 실용적인 이유에 대해서는 현재 은 실행 파일 경로의 .. 구성 요소가 허용되지 않습니다. escapeshellcmd()이이 함수의 인수에서 실행됩니다.

http://www.php.net/manual/en/features.safe-mode.functions.php

0

시스템을 반환 쉘 출력의 마지막 행을 반환 ini_get('safe_mode') 때 화면이 난 나는 safe_mode가 될 줄 알았는데, 어떤 제안 할 수 ls 또는 pwd 같은 기본 명령을 사용할 수 있습니다. 소리가 나는 것은 "127"입니다. 대신 전체 출력을해야하는 경우

, 시도 :

$output = array(); 
exec('/x/sh/xpay4.sh', $output); 
echo implode("<br>", $output); 
관련 문제