MATLAB输出到PHP代码



我想将MATLAB输出传递给我的PHP代码。

我的matlab代码,我有:

function x = returnX()
    x = 100;
end


和我的PHP代码:

<?php
     $command = "matlab -nojvm -nodesktop -nodisplay -r "x = returnX();"";
     passthru($command, $output);
     echo($output)
?>

但是,这是打印0,而不是100。
当我在CMD中键入命令时,它显示100。但是,当我尝试使用PHP代码时,它不起作用。谁能帮助我如何将MATLAB的输出值设置为PHP变量?谢谢!

您应该宁愿使用返回标准输出的exec,而不是像passthru一样退出代码。

在MATLAB代码中显示输出:

function x = returnX()
    x = 100;
    display(x);
end

在PHP代码中使用exec

<?php
     $command = "matlab -nojvm -nodesktop -nodisplay -r "x = returnX();"";
     $output=exec($command);
     echo($output)
?>

根据文档:

如果存在return_var参数,则UNIX的返回状态 命令将放在这里。

您是从MATLAB命令而不是标准输出的echo返回值。由于命令正确执行,返回0。passthru()将从标准输出"无需任何干扰"发送到客户端。

另外,请确保您的托管提供商允许您在PHP脚本中进行系统调用。许多主机出于安全原因禁用执行服务器端命令。在您的php.ini中查看安全模式和disabled_functions的支持。

最新更新