【发布时间】:2012-10-09 13:37:51
【问题描述】:
我正在编写一个 PHP 脚本来通过使用系统调用 fork()、exec() 和 execl() 来上传执行其他 c 文件的文件。
不幸的是 execl() 函数不起作用。
更详细的,PHP脚本,执行exec()函数为:
$output =shell_exec('./app/p1';
echo "<pre>$output</pre>"; )
执行p1是p1.c的可执行文件,p1.c程序调用execl()为:
execl("./p2", "./p2", "a.param","test.txt", NULL);
执行p2,它是p2.c的可执行文件。结果 p1.c 中的 execl() 没有执行, p2.c 也没有执行。 有什么建议。
【问题讨论】:
-
p1 是否被执行?因此其他命令在 p1 中是否有效?
-
shell_exec()如果 PHP 在safe_mode(php.net/manual/en/function.shell-exec.php) 中运行,则会禁用 id。你确定你的 PHP 引擎禁用了safe_mode?