Выполнить функцию MATLAB из IIS 7 + Переполнение стека

Я имею MATLAB r2013b, IIS 7.5, php 5.6 на Windows Server 2008 и пытаюсь сделать следующее:

<?php
...
chdir($matlabScriptsDir);
exec("matlab -r test_func(args) -logfile $logfile", $output);

$ output показывает, что процесс завершился с кодом 0, в TaskManager я вижу MATLAB.exe, запущенный от пользователя IUSR, $ logfile создается и блокируется этим процессом, но процесс ничего не делает — просто зависает (нет проблем с запуском та же команда из cmd.exe).

В чем проблема?

2

Решение

с использованием -r Опция аналогична вводу команд в командную строку Matlab, поэтому после выполнения команды Matlab все еще работает, ожидая следующей команды. Попробуйте вместо этого:

matlab -r "test_func(args), exit"

Так что процесс Matlab закончится. Я предлагаю вам сделать еще больше, и обернуть его try-catch (с последующим exit) чтобы в случае ошибки процесс не зависал.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]