如何从PHP>Python>Matlab>Python>PHP运行

2024-04-27 05:14:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让PHP运行一个运行matlab代码的python脚本。我希望matlab输出(值7.5)返回PHP并输出到浏览器。你知道吗

当我从终端运行python脚本时,它成功地运行了matlab代码。你知道吗

当我从PHP运行python脚本时,它不会将matlab结果输出到浏览器。我应该在浏览器中显示“7.5”。你知道吗

如果我将python代码更改为只打印一些内容,那么我将在浏览器中获得正确的输出。你知道吗

我怀疑我的权限有问题,但是我已经给了所有文件RWX权限。你知道吗

HTML代码

<form action='ts.php' method='POST' enctype='multipart/form-data'>
<input type='submit' name='matlab_plot' value='Plot in Matlab'>
</form>

PHP代码

<?php 
$command = escapeshellcmd('/Applications/XAMPP/xamppfiles/htdocs/CS85_Project/troubleshoot/ts.py 2>&1');
$output = shell_exec($command);
echo $output;
?>

Python代码

#!/usr/bin/python
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a = eng.workspace['a']
print a

Matlab代码

b = 5;
h = 3;
a = 0.5*(b.* h);

编辑: 我发现python脚本在从PHP调用时会在eng = matlab.engine.start_matlab()停止运行。我仍然没有解决这个问题的方法,但是我的问题是:为什么PHP不能运行这个python函数?你知道吗


Tags: 代码form脚本权限output浏览器starteng