我有一个用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
但是这个命令在控制台上运行得很好。
你知道发生了什么事吗?
发布于 2013-12-25 03:02:57
PHP的exec函数将在非登录用户下执行您的命令。这仅仅意味着$PATH &您期望的其他环境变量不会被提供。只需明确说明您的mpirun位于何处,并使用绝对路径来确保MPI知道您所谈论的内容。
示例:
/usr/local/bin/mpirun -np 64 -hostfile /home/hostfile17 /full/path/paralelo 1 /mpi/image.bmp /mpi/out.bmphttps://stackoverflow.com/questions/20745291
复制相似问题