PHP无法从shell-exec()函数运行MPI

时间:2013-12-23 14:11:18

标签: c openmpi

我有一个用OpenMPI控制集群的web界面,我使用shell_exec()函数来执行mpirun,当我尝试用“-host local”执行时它运行得很好但是当我使用命令“-hostfile /”运行时home / hostfile“它什么都不做。

如果我把命令放在控制台中它可以正常工作,但shell_exec()中的相同命令不起作用。

从shell_exec无效的命令:

  

cd / mpi; mpirun -np 64 -hostfile / home / hostfile17 paralelo 1 image.bmp   out.bmp

但是这个命令可以在控制台上完美运行。

对于发生了什么有任何想法?。

1 个答案:

答案 0 :(得分:0)

PHP的shell_exec函数将在非登录用户下执行您的命令。这仅仅意味着$ PATH&不会提供您期望的其他环境变量。 只需明确mpirun所在的位置,并使用绝对路径确保MPI知道您的谈论内容。

示例:

/usr/local/bin/mpirun -np 64 -hostfile /home/hostfile17 /full/path/paralelo 1 /mpi/image.bmp /mpi/out.bmp