使用system,exec或passthru从PHP调用Octave

时间:2014-01-28 16:27:07

标签: php octave

我正试图在eclipse环境中从PHP执行Octave脚本。设置PHP,Apache工作了。出现与以下调用相关的问题:

$cmd = "octave3.8 -qf /.../path_to_file/myscript.m file.txt";
$ex = passthru($cmd, $output);
var_dump($ex);
var_dump($output); 
脚本myscript.m里面有

e = 5                % too see if it will be printed onto the web page
arg = argv();        
data = load(arg{1}); 

结果是:      NULL int(1)

几个主题演讲:

  • 来自终端的相同命令工作正常(octave3.8 -qf /../path_to_file/myscript.m file.txt)
  • 我已经尝试将PHP进程设置为由sudoer运行

在Ubuntu 12.04,Octave 3.8.0,Eclipse标准/ SDK 2.0.1。,PHP Dev Tools 3.2.0。

2 个答案:

答案 0 :(得分:0)

您的命令行应该是:

octave --no-gui --quiet /path/to/script.m

并且脚本的内容应该是:

e = 5;
disp(e);

答案 1 :(得分:0)

你真的想这样做吗?新的Octave版本不支持管道。当用户键入命令(如文件或系统相关的八度功能)时,您可能会面临许多安全问题。当您通过管道使用八度音程时,新的图形工具包fltk将挂起。仍然有兴趣在谷歌搜索在线octave。 嗯。有Nclab,它基于云。