Faça o PHP esperar que o script do Matlab termine de executar [duplicado]
Duplicata Possível:
Comando php exec (ou similar) para não esperar pelo resultado
exec () esperando por uma resposta em PHP
Eu tenho um script php que chama e executa um script Matlab. O resultado do script Matlab é uma imagem .png, que gostaria de carregar em php e enviar para uma página da web. O código php que eu tenho é:
$matlabExe = '"C:\\Program Files\\MATLAB\\R2012a\\bin\\matlab.exe"';
$mFile = "'C:\\processSatData.m'";
$combine = '"run(' . $mFile . ');"';
$command = $matlabExe . ' -nodisplay -nosplash -nodesktop -r ' . $combine;
passthru($command);
$im = file_get_contents('C:\\habitat.png');
header('Content-type:image/png');
echo $im;
No entanto, parece que depois de enviar o comando 'passthru', o php não espera que o script do Matlab termine a execução. Assim, se o arquivo de imagem não existir antes de executar o código php, recebo uma mensagem de erro.
Existe uma maneira de fazer com que o código php espere o script Matlab terminar a execução antes de tentar carregar o arquivo de imagem?