1
쉘 스크립트를 호출하는 php 스크립트가 있습니다. 쉘 스크립트는 SQL 명령을 실행하고 출력은 쉘 변수로 전송됩니다. 이제이 변수를 PHP 스크립트에 어떻게 전달합니까?sqlplus에서 unix로 변수를 넘긴 다음 PHP로 넘김
예 : PHP 코드 :
$_param1 = "JOHNDOE";
$out = exec("sh shellscript.ksh $_param1");
echo $out;
쉘 스크립트 :
#!/bin/sh -u
param=$1;
out=`sqlplus -s $connectStr <<EOF
set serveroutput off;
set feedback off;
set heading off;
set pagesize 0;
set verify off;
set echo off;
select field from sometable where condition ='$param';
exit;
EOF`
echo $out;
나는 PHP 페이지 밖으로 $를 전송해야합니다. 파일을 만드는 것 이외의 다른 방법이 있습니까?
나는 그것을 시도했습니다. 나는 system() 함수로 그것을 시도했다. 그러나 이제까지 PHP 변수에 출력을 채우는 것으로 보이는 것은 없습니다. 유닉스 프롬프트에서 쉘 스크립트를 별도로 실행하면 필요한 출력이 쉘에서 생성됩니다. 어떤 아이디어? –
내 업데이트를 확인하십시오. 권한 문제가 있다고 생각합니다. 웹 서버 사용자와 스크립트를 호출하여 결과를 확인하십시오. – 0xd
나는 여기서 문제는 PHP가 echo'ed 데이터 즉, 단지 값을 선택하지 않는다는 점이다. 그냥 공백 배열 Array()를 보여줍니다. 예를 들면 : "Hello World"를 에코 할 때 데이터를 집계하여 출력합니다. 그러나이 가치를 위해, 그것은 다소 이상하게 행동합니다. –