从 apache php 堆栈(在 drupal 上)启动 Julia 作为后台进程



我正在尝试从drupal网站(在xampp for Windows上运行)启动julia程序,它需要在后台异步运行,而php脚本继续执行。这是我尝试使用的代码:

$juliaFile =  escapeshellarg(DRUPAL_ROOT . '/sites/all/modules/tsap/Modeling/runme.jl');
$cmd = "start /B julia $juliaFile";
pclose(popen($cmd, 'r'));

如果我通过命令行 php 脚本运行它,这段代码可以完美运行,但是当它通过 apache 运行时它不起作用,但是,下一段代码既可以从命令行也可以从 Web 服务器工作(唯一的区别是运行 php 脚本而不是 julia 程序)

$phpFile =  escapeshellarg(DRUPAL_ROOT . '/sites/all/modules/tsap/Modeling/runme.php');
$cmd = "start /B php $phpFile";
pclose(popen($cmd, 'r'));

我还尝试调用由 Web 服务器执行的 php 文件中的第一个代码块,该文件也从命令行成功,并在服务器尝试执行它时失败。

我还在使用反引号运算符和exec()(它们阻止呼叫)时遇到问题,使用COM::run()会导致与pclose(popen())相同的问题

有没有人对让朱莉娅打电话工作有任何想法?

感谢您抽出宝贵时间

添加命令的'&'端,这会将命令放在坑场中。

还可以使用proc_open()运行命令后台。您还参考了我的帖子,该帖子使用 proc_open() 运行命令后台。

最新更新