这里隐含了两个服务器:一个SQL服务器,一个Windows服务器(托管一个wamp服务器和matlab)
我的目的:
-
将参数传递给 matlab 服务器( Apache->批处理)
- 使用触发批处理脚本的参数调用网页这些论点。(PHP with exec, Apache )
- 批处理脚本使用这些参数启动 matlab。
Matlab process ( Batch->Matlab(<-SQL) )
- 将数据从 SQL 服务器检索到 matlab 服务器。
- 处理机器学习算法。
问题:
当 Web 服务器调用调用 matlab作业的批处理文件时,matlab 无法设法从 SQL 服务器检索数据,并且网页永远等待进程结束。
当我通过 windows cmd 启动批处理文件时,SQL 语句在 matlab 中工作正常。
我在 php 脚本中尝试了"set_time_limit(0);"(没有时间限制),因为 matlab 脚本需要一些时间。没用。
真正帮助我的是:
- 找到一种启动Wamp/Apache的方法,然后使用其他权限/用户启动Matlab
- 找到一种检索 matlab 错误并在从服务器启动时将其存储到文件中的方法。
- 任何指针...
非常感谢!
我已经想通了。php实际上很好。唯一的问题是 ODBC 链接。
- 我必须为系统 DSN 构建一个 ODBC 链接。
- 然后使wamp作为机器的本地服务(系统)。
- 最后,我必须确保 Matlab 使用此链接并使用正确的凭据连接到 SQL 数据库。