【发布时间】:2017-01-01 00:41:38
【问题描述】:
我正在尝试从 drupal 网站启动一个 julia 程序(在 xampp for Windows 上运行),它需要在后台异步运行,同时 php 脚本继续执行。这是我正在尝试使用的代码:
$juliaFile = escapeshellarg(DRUPAL_ROOT . '/sites/all/modules/tsap/Modeling/runme.jl');
$cmd = "start /B julia $juliaFile";
pclose(popen($cmd, 'r'));
如果我通过命令行 php 脚本运行此代码,它可以完美运行,但是当它通过 apache 运行时它不起作用,但是,下一段代码可以在命令行和网络服务器上运行(唯一的区别正在运行 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()) 相同的问题
有没有人有任何想法让 julia call 发挥作用?
感谢您的宝贵时间
【问题讨论】:
标签: php windows apache drupal-7 julia