Spraw, by PHP poczekał, aż skrypt Matlab zakończy wykonywanie [duplikat]
Możliwy duplikat:
Polecenie php exec (lub podobne), aby nie czekać na wynik
exec () czeka na odpowiedź w PHP
Mam skrypt php, który wywołuje i uruchamia skrypt Matlab. Efektem skryptu Matlab jest obraz .png, który chciałbym załadować do php i wysłać na stronę internetową. Mam kod php:
$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;
Wydaje się jednak, że po wysłaniu polecenia „passthru” php nie czeka na zakończenie działania skryptu Matlab. Tak więc, jeśli plik obrazu nie istnieje przed uruchomieniem kodu php, pojawia się komunikat o błędzie.
Czy istnieje sposób, aby kod php czekał na zakończenie działania skryptu Matlab, zanim spróbuje załadować plik obrazu?