1
我有一个调用shell脚本的php脚本。 shell脚本运行sql命令并将输出传输到shell变量。 现在,我该如何将这个变量传递给PHP脚本?将变量从sqlplus传递给unix,然后传递给php
如:PHP代码:
$_param1 = "JOHNDOE";
$out = exec("sh shellscript.ksh $_param1");
echo $out;
Shell脚本:
#!/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变量中。当我在Unix提示符下单独运行shell脚本时,shell中会生成所需的输出。有任何想法吗? –
查看我的更新,我认为您可能会遇到许可问题,请尝试与Web服务器的用户一起调用该脚本以查看结果。 – 0xd
我有一个预感,这里的问题是,PHP不拾取echo'ed数据,即只是价值。它只显示一个空数组 - Array()。例如:当我回显“Hello World”时,它会提取数据并输出。但是对于这个价值来说,它的表现有点奇怪。 –