我有以下设置:在Mac OS X上,Apache调用PHP脚本,该脚本使用system
函数调用Matlab脚本,该脚本又有自己的system
调用来调用一些shell命令。
但是,似乎没有命令实际运行(我尝试了一个简单的回显到文件中),当我尝试使用[status, cmdout] = system()
签名捕获命令的输出时,status
和{ {1}}最终变空。
如果我从命令行手动运行Matlab脚本(回声和所有其他cmdout
调用正常运行),则不会发生这种情况。
提前致谢!
修改:
PHP代码:
system
processing.m从名为data_file_load_online.m的文件中调用函数:
$system_call_string_2 = "matlab -nosplash -nodesktop -r 'run ../users/".$user."/projects/".$project."/processing.m' > /dev/null &";
system($system_call_string_2);
要清楚,我已经检查过这个代码是否已到达,路径是否正确,将echo命令替换为文件,并手动运行Matlab脚本以确保它以这种方式工作