PHP启动matlab执行m文件遇到的问题。
系统:Windows 10
开发环境:WampServer 3.2.3(Apache 2.4.46,PHP 7.3.21)
Matlab:2020(安装路径:C:\Program Files\Polyspace\R2020a\bin\matlab)
我想在PHP中运行MATLAB的m文件result.m,m文件的路径为:C:\matlab_files\myfolder1
我在Windows Command Prompt(cmd)中尝试试执行
matlab -sd C:\matlab_files\myfolder1 -noFigureWindows -nosplash -nojvm -wait -r "results;exit"
是没有问题的。
第一步我学习了如何从PHP执行系统命令的exec,有人说执行之前需要关闭安全模式,但是我用怎么查看PHP配置文件php.ini在哪-百度经验 (baidu.com)方法找到php.ini,却没有找到safe_mode,尝试执行了PHP中执行cmd命令的方法_php技巧_脚本之家 (jb51.net)文中说的例子也成功了:
<?php
exec("mkdir d:\\test",$out);
print_r($out);
?>
最后我就开始试验我的我的PHP代码,我的PHP文件名为1.php,但是在浏览器中输入127.0.0.1/1后没有任何反应。PHP代码如下:
<?php
#不打开matab执行result
exec("matlab -sd C:\\matlab_files\\myfolder1 -noFigureWindows -nosplash -nojvm -wait -r "results;exit"");
?>
按照网上的说法查找是否PHP禁用了调用外部命令,结果是PHP默认是不禁止的,我也系统亦是如此。
我担心您没有matlab软件,我们先从大家都有的软件开始试验,我在cmd中输入
"C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE"
就启动了Word,我建立如下PHP文件,但是执行后浏览器空白,没有任何反应。
<html>
<body>
<?php
system("C:\\Program Files\\Microsoft Office\\root\\Office16\\WINWORD.EXE");
?>
</body>
</html>