我开发了一个在Windows和Linux下运行的c ++ CGI程序。
这个程序调用另一个这样的程序:
system("otherProgram.exe arguments");
我也尝试过:
spawnl(_P_WAIT, "otherProgram.exe", "argument1", NULL);
这在我的调试器和我的虚拟机中工作正常,但在我的测试服务器上它不起作用。 系统调用返回-1。
任何想法为什么?
答案 0 :(得分:2)
这可能是权限问题。默认情况下,您的CGI应用程序将像用户nobody一样运行。您要启动的程序应该可由“nobody”执行。
答案 1 :(得分:1)
在测试框的PATH环境变量的某个目录中是否包含“otherProgram.exe”的目录?也就是说,您的操作系统是否知道如何找到该程序?