Errors when trying to launch MATLAB through PHP

What's being attempted: PHP, running under IIS, is calling an executable that runs a MATLAB program
Where it's breaking: In the executable (written in C++), the engOpen(NULL) command is not launching the MATLAB engine successfully
Confusion: When logging in as a normal user and manually running the executable, the MATLAB engine launches fine and the program runs successfully. However, when IIS tries to run it the executable fails halfway through, at the point where engOpen is called.
Relevant Code:
#include "engine.h"
Engine *ep = NULL;
if (!(ep = engOpen(NULL))) {
log_out << "Error opening engine." << endl;
log_out.close();
exit(-1);
}
Any help would be appreciated. We're currently unsure if the program is a MATLAB issue or a PHP/IIS issue, and could really use some pointers in the right direction.

3 个评论

On Windows, engOpen creates a COM channel to MATLAB. Perhaps MATLAB is not registered as a COM server? Try executing "matlab /regserver" on your server to see if engOpen is then successful.
You might need to run the "matlab /regserver" as administrator.
We've tried that and it hasn't resolved it.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by